일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- iptable
- egrep
- RAID5
- 글자겹침
- Paket tracer
- 무료proxy
- RAID 0+1
- raid1
- windows2008
- IP대역
- C
- AIX DB2
- Callback함수
- Linux
- Linux DB2
- NormalBlockError
- 역방향조회
- 보안감사생성
- 로컬보안정책
- 시간비교
- Root 허용
- egrep or 조건
- GTK
- gtk설치
- BFF
- JMF
- port fowarding
- Raid
- RAID0
- 화이트도메인
- Today
- Total
목록Language/C (17)
술텀뱅이 블로그
표시 라인 크기 변경 set listsize 30
posix_openpt 함수가 있다. 터미널 오픈.. 근데 이게 구현여부가 OS 별로 다르더라 특히 HP 같은 경우에는 11.11에서는 정의조차 되어있지 않더라.. HP 11.31은 정의되어 있던데 11.23을 확인 못해봤다.. 저함수가 구현이 안되어 있을때는 직접 구현해야 한다. 참고는 아래Site를 참고하여 마지막에 보면 OS 별 open해야하는 대상 터미널 파일이 있다 그걸 조합해서 만들면 된다. https://github.com/gagern/gnulib/blob/master/lib/posix_openpt.c
pipe 를 사용하다보니 이런 경우가 있드라 경우1) 부모와 자식프로세스 사이에 pipe를 이용한 데이터 교환 경우2) 부모와 자식인데 자식이 Terminal(장치드라이버) 인 경우 데이터 교환 "경우1" 은 그냥 개발자가 sync를 맞춰주면 끝이다. 근데... "경우2"의 경우 Terminal이 언제 나에게 데이터를 줄지 모른다... 그래서 나는 "경우2"에서 많은 고민을 했다. read 함수를 nonblock 모드로 사용할까.. 하다가 찾은 방법 ioctl 함수... 장치관리자를 제어할때 쓰는 함수라는데 저함수를 사용하면 PIPE에 몇바이트의 데이터가 남았는지 검사할 수 있다. 즉 로직은 이와 같다. 1. 터미널에 파이프를 이용하여 명령어를 전달(Write) 한다.2. 터미널은 나에게 어떤 데이터를 ..
업그레이드 할일이 생겼다. 그런데 우리는 업그레이드 기능이 기본적으로 없다. 강제로 해야하는데 어떻게 할까 Manager DB의 내용을 각 Agent로 내리는 구조이니 요걸 활용해보자 DB에 binary 를 저장해서 내릴려고 했으나 문제가 있었다. 그래서 DB 에 binary의 Hexa 값을 저장한다. hexa를 내려받은 Agent는 hexa를 binary 화 한다. 요기서 좀 애좀 먹었다. 아래는 binary를 hexa 화 하는 코드 #include #include #include #include int main(int argc, char* argv[]) { int readfile, writefile; unsigned char readbuf; unsigned char writebuf[2]; ssize_..
http://stackoverflow.com/questions/9352171/stdio-h-not-found-after-fresh-xcode-4-3-installed 링크 따라가서 솔루션의 링크를 따라가니 여러 툴들이 있었다. 거기서 자기 Mac버젼의 command line tool 설치하니 잘된다. xcode에서 command line tool 설치하라던데 도통 안보이드라 임병할
fcntl 플래그 설정 시 val |= flags fcntl플래그 off 끌때val &= ^~flags; 참고하자
아 한동안 삽질했다. 확실히 삽질을 해야 많이 배워 Unix 환경에서 C 개발 중.. 표준 입력을 가져올 일이 생겼다. fd = open(STDIN_FILENO, O_RDONLY); 왜 계속 에러가 날까 왜왜별별 생쇼를 다해보다가 항상 어디선가 들었던 이야기가 생각났다. 프로그램이 실행 되는 순간 해당 프로그램에는 "세개의 표준스트림이 열린다." 왜왜 알면서 왜 표준 입출력에러는 따로 open 할 필요 없이 바로 쓰면 된다. 요렇게nread = read(STDIN_FILENO, buf, BUF_SIZE); 멍청한짓 했네
2012 부터는 IA64를 지원하지 않는다네.. 지기럴하지만 방법은 있다 http://www.sysnet.pe.kr/2/0/1439http://social.msdn.microsoft.com/Forums/ko-KR/visualcplusko/thread/4e3d5390-d46b-44ca-acbe-ab515eafb081
한참을 고생햇다 항상 그렇지만...CString 을 __int64로 변경하고 싶어졌다. 그래서 찾아보니 _tcstoui64 라는 녀석이 있더라 이녀석은 유니코드 캐릭터 CString 을 __int64로 변경 해 준다.unsigned __int64 fileSize = _tcstoui64(resultStr, NULL, 10); printf("%I64d------>
기존의 회사 코드는 execl 로 쉘스크립트 실행하였다. 결과물은 xml 파일로 떨궜다(redirection). 다 잘 돌아갔으나 수천대의 서버들 중 딱 4대가 돌지 않았다. 이들의 특징은 xterm을 사용하는 AIX 5.3 이였고 아무리 로케일 설정을 해봐도 잘 돌아가지 않았다. 그래서 하나 더 위로 생각해보았는데 execl이 실행할때 생각지도 못한 환경변수가 삽입되어 xml파일의 한글이 자꾸 깨지는것이 아닌가 생각해 보게 되었고 execle 라는 함수를 만났다 이녀석은 환경변수를 케릭터 포인터 형태로 전달이 가능했고 그 전달 변수에 케릭터 포인터를 실어 보낸 결과 자알 돌았다. 어떤 명령어를 실행하여 결과를 redirection 시킬때 한글이 깨진다면 unix에서는 execle 나 또다른 환경변수를 ..