snprintf() 함수는 타겟배열버퍼에 일련의 문자와 값의 형식을 argument로 전달하여 저장할 수 있다. 아래의 샘플 예제를 실행했을 때 Unix와 Linux 에서 결과값이 다르게 출력되는 이슈가 있다. #include #include int main() { char str1[1024]; char buf[10]; memset(str1, 0x00, sizeof(str1)); memset(buf, 0x00, sizeof(buf)); strcpy(str1, "abcd"); strcpy(buf, "1234"); snprintf(str1, sizeof(str1), "%s%s", str1, buf); printf("str1 [%s]\n", str1); return 0; }이 프로그램을 Unix에서 수행했을 ..
ORA-01002 오류가 발생되는 경우는 여러가지가 있을 수 있겠지만 최근에 만난 사례는 공유하면 좋겠다. 오라클에서 커서 Open 후에 rollback을 처음으로 만나게 되면 ORA-01002 오류 : fetch out of sequence 가 발생될 수 있다. 오라클의 경우 커서 오픈 후 바로 rollback 을 만나면 커서를 닫아 버리기는 경우였다. 이런 현상은 무조건 발생되는 것은 아니고 커서 오픈 전 DML 이 수행된 적이 있을 경우에 발생된다. 커서 오픈 전 수행된 DML 이 commit/rollback 으로 마무리 되지 않은 상태에서 커서가 오픈되고 rollback 을 처음 만나게 될 때 이전 DML 을 rollback 하면서 커서도 close 해 버린다. 커서 오픈 전에 DML 수행되었더라..
디렉토리별 사용량을 보려면 du 명령을 사용한다. 그런데 그냥 du 명령을 치면 하위 디렉토리까지 다 보여 주게 되므로 정신이 없다. 현재 디렉토리 기준으로 1 레벨만 보고 싶다면 --max-depth 옵션을 사용한다. du --max-depth=1 그러면 내가 접근할 수 없는 디렉토리의 경우 "허가 거부" 메시지가 뜨게 된다. 이런 거 지저분해서 보기 싫다면 du --max-depth=1 2>/dev/null "허가 거부" 등과 같은 오류 메시지는 화면으로 출력되지 않도록 한다. 디렉토리 사용량 크기별로 정렬해서 보면 편할 것이다. du --max-depth=1 2>/dev/null | sort -n 다른 이야기 지만 사용량을 byte 단위가 아닌 K, G로 보고 싶다면 -h 옵션을 사용한다.
유닉스로 개발된 C 소스를 리눅스에서 컴파일만 하고서 돌리면 잘 돌아갈까? 대부분 프로그램들은 잘 돌아가지만 몇몇 코드들은 손을 봐줘야 하는 것들이 있다. 그중에서 함수로 아규먼트를 넘길 때 문자열 이슈가 있다. 특히 readonly 문자열 값을 아규먼트로 넘길 때 끝처리에서 다르게 동작한다. 001: void function_test_str( char *str ) { 002: char tmp_str[100]; 003: size_t len; 004: 005: len = strlen(str); 006: strncpy( tmp_str, str, sizeof(tmp_str)); 007: tmp_str[len] = 0x00; /* 확실한 막음처리 */ 008: printf("len=[%u] str=[%s] tm..
IBM이나 HP 유닉스에서 사용했던 ltoa 함수를 리눅스에서는 지원하지 않는다. int형 변수의 값을 char 배열에 넣는 함수를 사용하고 싶다면 할 수 없이 sprintf() 함수를 사용하는 방법을 사용해야 한다. 하지만 ltoa() 는 바로 문자열 포인터를 return 받기 때문에 바로 사용하면 되었지만 sprintf() 를 사용할 경우 결과를 저장할 변수를 하나 선언해야하는 번거로움이 있다. sprintf(버퍼,"형식지정자", 값) 예를들어, long cnt = 400; char str[100]; sprintf(str, "%ld", cnt ); 라고 하면 버퍼에 문자열 400 이 들어간다. 프로그램내에서 빈번하게 사용된다면 매크로로 선언해 놓고 사용하는 것을 권장한다. #define LTOA( _..
포매팅으로 패딩하여 출력하거나 문자열을 구성할 때 동작의 차이가 있다. printf("[%06s]\n", "AB"); 라고 했을 때 유닉스에서는 0 이 좌패딩되었다. 그런데 리눅스에서는 스페이스가 좌패딩된다. printf() 는 출력하는 거라 로직에 영향을 미치지 않을 수 있다고 치더라도 포매팅을 사용하는 sprintf 도 동일한 현상이 발생된다. 이런 로직의 경우는 프로그램 속에 숨어 있어서 찾아내기 어렵기 때문에 꼼꼼한 테스트가 필수이다. printf 함수의 포매팅으로는 커버할 수 없기 때문에 별도의 함수를 만들어야 하기 때문에 상당히 번거롭게 된다.
유닉스로 개발된 C 소스를 리눅스에서 컴파일만 하고서 돌리면 잘 돌아갈까? 대부분 프로그램들은 잘 돌아가지만 몇몇 코드들은 손을 봐줘야 하는 것들이 있다. 리눅스에서는 sprintf 를 사용할 때도 유닉스와 다르게 동작해서 오류가 발생되는 경우가 있다. 유닉스에서는 멀쩡히 잘 돌아가던 프로그램을 리눅스에서 돌리면 오류가 발생되는 경우로서 sprintf()가 있다. memset(b, 0x00, sizeof(b)); sprintf(a, "name:%s" , b ); printf("%s\n", a ); 이런 소스의 경우 b 값이 NULL일 경우 유닉스에서는 아무 것도 찍히지 않는다. name: 이라고만 찍한다. 그러나 리눅스에서는 "(null)" 이라는 문자가 찍히게 되면서 name:(null) 이라고 찍힌다..
유닉스 프로그램을 리눅스로 변환할 때 발생되는 이슈들 1. 변수가 NULL 일 때 access 하면 코어덤프가 발생되다. 유닉스에서는 이렇게 민감하지 않아서 coredump 가 나지는 않았았으나 linux 에서는 변수가 NULL 일 때 참조를 하면 바로 coredump 가 발생된다. 예를 들어 유닉스에서는 fclose(fp); 후에 다시 fclose(fp); 를 호출해도 코어덤프 발생되지 않았으나 리눅스에서는 짤없이 죽는다. 그래서 wrapper 함수를 만들어야 한다. int fn_fclose(FILE *_fp) { if( _fp != NULL && _fp->_fileno >= 0 ) return fclose(_fp); return 0; } 여기서 file structure pointer 변수가 fclo..
기본 일자 포맷으로 출력할 때는 그냥 단순히> date -I 2020-02-22 date 명령어에서 포맷을 주려면 date뒤에 +로 시작한다. 포맷이 붙어 있을 경우 ' 로 감싸지 않아도 되지만 스페이스가 들어가면 ' 로 감싸줘야 한다.> date +'%F %T' 2020-02-22 13:23:53 $로 date 명령을 실행하여 변수처리를 할 수 있다.> echo $(date +%F_%T) 2020-02-22_13:24:23 > CUR_DATE=$(date +%F_%T) > echo $CUR_DATE 2020-03-21_13:34:23 동일한 효과를 얻을 수 있는 ` 문자로 date 명령을 실행할 수 있다.> CUR_DATE=`date +%F_%T > echo $CUR_DATE 2020-03-21_13:..
티맥스 서비스를 호출했는데 느닷없이 프로그램이 죽었다. 정확하게 말하면 IPPR 서비스를 수행 중 해당 서버가 죽고 재기동 된다. 어떤 신호도 없이 서버가 죽는 경우에 뭐 부터 점검해야 하는 것인가. ulimit -a core file size (blocks, -c ) 0 stack size (kbytes, -s) 8192 여기서 스택사이즈가 너무 작게 잡혀 있을 경우 내부 변수를 선언해 나가다가 한계를 넘어가면 메모리 오류가 나면서 프로그램이 죽게 된다. tmax 계정의 .bash_profile 에 다음과 같이 스택사이즈를 늘려 준 후 재접속하고 tmax를 재기동 하면 오류 없이 거래가 통과되었다. ulimit -c 99999999 ulimit -s 143360 Linux 3.10.0 x86_64 Re..
경북 군위군 고로면에 유명한 한의원이 있다고 듣고 찾아갔다. 고로면 석산리에서 고갯길로 접어들어 올라간다고 네비가 가르쳐주고 있다. 이름은 석산한의원. 이러다가 길이 끊어지는 게 아닌가 걱정하며 꼬불꼬불한 외길을 따라 한참을 올라가면 신기하게도 마을이 나온다. 결국에는 석산한의원 간판을 만났다. 한의원이 시골 허름한 농가 주택 같이 생겼다. 4대 째 여기서 한의원을 한다고 한다. 이 집은 진맥을 통하여 몸의 이상여부를 진단하는 것으로 유명하다. 사극 같은 데서 보면 옛날 한의사들은 진맥으로 병을 알아내는 것을 봐 왔는데 바로 여기가 그런 곳이다. 많은 사람들이 이미 대기하고 있었다. 이런 걸어서는 도저히 올 수 없는 두메산골까지 이렇게 많은 사람들이 찾아오다니 허준이 따로 없는건가. 처음 온 사람은 진맥..
프로프레임에서 dbio를 호출하였는데 오류가 발생하였다. 오류 번호로 리턴된 값은 -90001002 이고 오류메시지는 [DBIO] Conditions can't call the right function 이다. 어떤 경우에 이런 오류가 나오는 것일까? 처음 프로프레임 dbio 를 array fetch 로 작성하였을 때 관련한 배열처리 내부 함수들이 만들어 진다. 이런 array fetch dbio를 프로그램에 끌어다 사용하였을 것이다. 그 후에 개발자가 dbio 를 단건 fetch 로 변경하였다. 그리고 dbio를 컴파일 했다. 그러나 정작 이 dbio를 사용하고 있는 프로그램은 다시 컴파일을 하거나 재구성을 하지 않았다. 이런 경우에 프로그램이 실행될 때는 이전의 array fetch 함수를 계속 호출..
>Is there a handy command to display all the TAB characters in a file? >And for a large file, is there a way I can search it in VIM? One easy way is ":set list". It also shows other control characters, but it may be exactly what you need. Turn it off with ":set nolist". If that doesn't do it, you can do / C-V C-I (slash control-V control-I) to search for a tab character. If you have highlighting..
말레이시아 쿠알라룸푸르 공항은 트랜스퍼하기 아주 쉽다. 비행기에서 내리면 바로 탑승동이다. 다른공항 처럼 다시 x-ray검사하고 탑승동으로 이동할 필요가 없어서 좋으네. 내가 비행기에서 내린 곳은 가운데 라운드형 상가가 있고 동서남북으로 네갈래 플랫폼이 있다. 크지는 않고 나름 아담하게 잘 꾸며져 있다. 여기서 한국사람 엄청 갈아타는 듯. 여기저기서 한국말 많이 들리네. 한국에서 한 다섯시간 정도 날아와서 도착했는데 좀 지루 했지만 말레이시아 항공 기내식은 훌륭했다. 여기 날씨는 약간 후덥찌근하네. 짧은 옷 준비해서 와야 할 듯. 돌아다니다가 WEST ZONE 으로 이동하는 셔틀 기차 발견. 공항이 두개로 되어 있나 보다. 여기는 C게이트들이 있고 건너편 WEST ZONE에는 A B G H 게이트와 im..
레노버 노트북 서비스를 받아야하는 일이 생겨서 홈페이지를 검색해보니 많지는 않았다. 가장 가까운 곳이 강남서비스센터였다. 교대역과 강남역 중간 쯤에 애매한 곳에 있다. 난 교대역에서 내려서 5분 정도 걸어갔다. 사무실 규모가 작고 응대하는 카운터 직원이 적지만 그만큼 손님도 적었다. 나 뿐이어서 기다리거나 하는 불편함이 없었다. 서비스기사심도 친절하고 설명도 잘 해 주셨다. 안타깝게도 부품을 교환하게 된다면 비용 이 좀 비싼 느낌이었다. 그러나 삼성 같은 곳에 가도 부품교환비용은 마찬가지로 비쌀거다. 고장이 앗싸리 안 나는게 돈 버는거다. 레노버서비스센터위치 https://support.lenovo.com/kr/ko/solutions/ht100494
울진 후포항에 유명한 볼거리가 있다. 등기산 공원에서 바다로 뻗어 있는 스카이워크 가 바로 그것이다. 직접 촬영한 동영상을 보면 이것이 무엇인 지 실감이 날 것이다. https://youtu.be/TdzY8F5oQAE 나중에 알고보니 후포항에는 이것 외에도 벽화마을이 또 유명하다고 한다. 백년손님 이라는 텔레비전 프로그램 촬영지인데 못 가봐서 아쉽다. 다음에 후포항을 방문하게되면 여기도 꼭 가봐야겠다. 등기산공원에는 후포등대도 있다. 등대가 있는 것을 보면 배도 많고 동해에서 후포항이 꽤나 큰 모양이다. 멋진 정자위에서 푸른 동해 바다를 바라 볼 수도 있다.
내가 가지고 있는 울트라 노트북은 128GB SSD 하드 디스크를 가지고 있다. 그런데 이것으로는 용량이 부족해서 불편하다. 그래서 이번에 256GB SSD 로 새로 구매하여 확장하기로 했다. 이베이에서 256기가 SSD 하드디스크를 8만원에 주문하였다. 5년전에 30만원이었는데 그동안 많이 싸졌네. 하기사 이베이에서 ASUS UX31 노트북 자체가 30만원에 팔리고 있는 것을 보니 격세지감. 내가 살 때는 100만원 넘게 줬음. 윈도우 10이 깔려 있는 하드디스크를 그대로 백업해서 복원해 넣는 것이 과제인데 윈도우10이 제공하는 이미지 백업 기능을 먼저 시도해 봤으나 실패했다. 내 컴퓨터는 EFI라는 방식의 부팅 시스템을 이용하고 있기 때문에 간단하게 해결되기는 어려웠다. 윈도우 부팅 USB로 부팅한 ..
주차를 하다가 경계석 모진 곳을 박아서 범퍼가 깨졌다. 공교롭게도 범퍼 속 지대쇠바가 끝나는 지점에 박는 바람에 깨지고 말았다. 블루핸즈에 문의했을 때 판금은 안 되고 교환을 해야 한다는 의견이었고 35~40만원을 견적받았다. 더 알아보니 새 범퍼를 만들어 주는 곳도 있었다. 타쿠먼이란 곳이다. 엑센트 범퍼는 155,000원이고 조립까지 하면 21만원이 든다고 하였다. 새 범퍼와 차색이 서로 차이나면 어쩌지 하는 마음에 부분도색하는 곳을 찾아보기로했다. 카페와 인터넷을 돌아다니다가 발견한 곳이 장한평역 앞에 있는 민덴트 라는 곳이다. 덴트가 전문인 곳인데 20만원에 판금이 가능하다고 하여 바로 결정했다. 토요일 아침 일찍 8시로 예약하고 차를 몰고 장한평으로 갔다. 처음 만났지만 이런저런 이야기도 털털하..
중고 자동차를 구입한 지 60일 이내에 자동차등록번호를 변경할 수 있다. 이전 번호가 마음에 들지 않아 등록지 구청인 성북구청을 방문했다. 번호판 변경신청 자동차등록정보변경신청서를 쓰고 접수하면 10개 번호 목록을 보여주고 그 중에서 하나를 선택하라고 한다. 이 때 번호판 재교부신청서를 작성하면 안됨. 마음에 드는 번호를 선택하면 수수료 납부하고 오라고 고지서를 준다. 구청 귀퉁이에 있는 은행에 가서 바로 납부후 영수증을 주니 번호판과 새로운 번호가 찍혀있는 자동차등록증을을 그자리에서 내어 준다. 당연 이전 등록증을 회수해간다. 새로 받은 등록증 한쪽에 변경전 번호도 티안나게 찍혀 있다. 비용은 전체 2만 얼마 밖에 안 들었다. 번호판 설치 번호판 설치는 개인이 하기에는 쉽지 않다. 그래서 번호판을 수령..
이건 정말 대단한 발견이라고 생각된다. 한글 자음의 이름이 원래는 이랬다는 건데. 한자 아는 사람은 의미를 생각하면서 외우면 금방 익히도록 머리를 썼구나. 세종대왕은 명저 ‘훈민정음’ 어제훈민정음 편에서 우리말의 자음 명칭을 지을 때, 기존 중국 운서들에서 통일적으로 사용하던 명칭들을 버리고, 7음의 순서에 따라 국민 삶의 풍요에 집중한 부국의 염원을 담은 총 23자로 된 시문에서 ㄱ에서 ㅿ까지의 23개 자음에 대한 명칭 “君(임금 군)~穰(풍년들 ㅿㅑㆁ)”을 정하였다. ◆세종어제명칭시문 (해석: 박대종) 君虯快業(ㄱㄲㅋㆁ: 군뀨쾌업)은 군왕과 용왕이 기뻐하는 과업은 斗覃呑那(ㄷㄸㅌㄴ: 두땀탄나)니라. 두성의 밝은 빛이 미치고 에워싸 천하가 평안한 것이니라. 彆步漂彌(ㅂㅃㅍㅁ: 별뽀표미)한 활이 뒤틀리면..
멜번공항도 많이 바뀌고 있다. 올 때마다 새로운 장비들이 들어서는 것을 본다. 이번에 멜번공항에서 출국할때 부쩍 눈에 띄게 셀프체크인이 늘었다. 심지어 N,O카운터는 아예 전부가 셀프체크인으로 되어있다. 사용해보니 인천공항에서의 셀프체크인과 별반 다르지 않았다. 언어를 한국어로 선택. 한국어 부지런히 많이 써 줘야 메뉴에서 빠지지 않겠지. 여권의 사진 있는 면을 엎어 밀어넣어 스캔한다. 여권정보로 예약된 승객이 나타나는데 체크인 진행할 승객을 선택한다. 항공권 발권 당시 입력한 연락처와 이메일이 자동으로 뜬다. 여권번호 등 최종 입력 정보를 확인하고 나면 마지막으로 안내 사항이 뜬다. 수하물 태그를 출력한다. 수하물 부칠 승객의 수하물 개수를 선택한 후에 출력 버튼을 클릭한다. 이제 항공 탑승권을 출력한..
2016년 부터 16세 이상 한국여권소지자도 호주공항 스마트게이트를 이용할 수 있다. 멜번공항에서 입국할 때 스마트게이트를 이용하는 방법을 정리해 본다. 어설픈 영어로 입국심사대에 마주서면 무섭기도 하고 어색하기도 하고 줄서서 기다리는 것도 싫은 사람은 이 자동입국심사 방식을 이용하면 편리하다. 스마트게이트 기계 앞에 여권을 엎어 넣으면 쉽게 입국심사가 완료된다. 한글도 지원된다. 이 입국심사 티켓 발급기는 나오는 복도에 많이 진열되어 있기 때문에 놓칠 수 없다. 현재 호주시민권자와 한국 등 몇 개 국가 여권 소지자만 지원되는데 이것을 이용하자. 스마트게이트는 일종의 호주 자동입국심사 절차이다. 입국 비자가 확인되었으면 입국 티켓이 나온다. 이제 여권과 이 티켓을 뽑아서 챙겨 스마트게이트로 입국하면 된다..
Visa Entitlement Verification Online (VEVO)호주대사관 홈페이지에 보면 다음과 같이 안내되어 있다. VEVO는비자 소지자와 기관들이 현재 유효한 비자의 상태를 확인할 수 있는 무료 온라인 서비스 입니다. 기관들은 비자의 상태와 자격에 대해 일부의 정보만 열람할 수 있습니다.비자 소지자들은 VEVO를 호주 이민부 웹사이트를 통해 이용할 수 있습니다. 참조: VEVO for Visa HoldersAndroid 또는 iOS로 구동되는 스마트폰을 소지한 비자 소지자들은 myVEVO 앱을 통해서도 비자의 상태를 확인할 수 있습니다. 참조: Android (Google) 또는 iOS (Apple)비자 소지자로서 본인에게 해당되는 다음의 정보들을 확인하고 출력할 수 있습니다:비자의 c..
혜화문은 동대문과 북대문 사이에 있는 작은 문이다. 오늘은 혜화문에서 출발하여 북악 팔각정까지 올라갔다 오는 코스를 선택했다. 조선 후기에 혜화문은 성루가 없었다. 그러다가 일제강점기 때는 완전 해체되어 버렸다가 최근에 다시 원래 위치에서 10미터 정도 옆에 다시 세워졌다. 혜화문을 바로 지나면 삼거리가 나오는데 이 삼거리 모퉁이에 한양도성박물관이 있다. 이 건물은 최근까지 서울시장 공관으로 사용되고 있었다. 박원순 시장이 공관을 시민의 품으로 되돌려주고 다른 데로 이사를 가게 되었다. 그래서 지금은 시민들의 휴식 공간 및 한양도성박물관으로 이용되고 있다. 예쁜 정원과 카페가 있어서 누구든지 방문할 수 있도록 되어 있다. 한양도성박물관에서 바라본 성북 공원의 모습이다. 성북동은 근처에 성북공원도 있고 와..
https://www.pccasegear.com 에서 데스크탑을 조립합니다. 여기서 부품을 사서 조립하면 고성능의 게임용 PC 를 만들 수 있습니다. 요즘 젊은 애들이 여기를 들락날락 많이 하더군요. 컴퓨터의 주변 부품들도 구매할 수 있어요. MSY 와는 달리 여기는 멜번이 본사입니다. 여러 프랜차이즈 가맹점도 없고요. MSY 는 그래도 가게가 오픈되어 있어서 물건도 볼 수 있는데 여기는 철저하게 사전 주문제로 운영됩니다. 주문할 때 돈을 결제하지 않고 물건을 찾을 때 결제합니다. 매장에 가 봤자 진열되어 있는 부품이나 컴퓨터를 하나도 볼 수 없고 들어가면 직원 한명 만 딱 카운터에 서 있습니다. 주문 번호를 이야기 하면 안에 들어가서 꺼내다가 줍니다. 매장에 사전 주문없이 갔다고 하더라도 매장에 있는 ..
집근처에 숨은 맛집 발견. 오가다가 보면 이 집은 놋그릇을 사용한다는 점에 마음에 끌렸다. 그러다 우연히 소고기국밥 맛이 어떨까 하고 들어가 봤다. 명동따로국밥집에서 국밥을 먹은 이후로 그만한 집을 찾지 못했는데 그 집에 필적할 만한 맛을 뜻밖의 장소에서 발견하였다. 국밥을 시키면 먼저 나온 반찬은 단촐하다. 깍두기와 배추 겉절이 생김치가 놋그릇에 담겨서 정갈히 나온다. 이것이 중국산 날아가는 그런 김치가 아니라 갖은 양념을 듬뿍 넣은 그런 김치아닌가.. 따뜻한 육수가 곁들어 나오는데 맛이 있어 그냥 물보다 나았다. 드디어 소고기국밥이 나오는데 국물을 한 숟갈 떠 먹어보고는 감동의 눈물을 흘릴 뻔 하였다. 소고기 살점을 성큼 잘라내어 푹 고아 우려낸 바로 그 고향의 맛이었기 때문이었다. 나는 공기밥 하나..
부처님 오신날. 집 근처에 있는 흥천사를 찾았다. 이날은 점심을 제공하기도 하거니와 볼거리도 많기 때문이다. 내가 절에 도착한 시각은 12시 언저리이다. 입구에서 그냥 인파를 따라서 갔다. 아직 뜨끈뜨끈한 백설기와 생수를 나눠주고 가슴에 꽃도 달아준다. 벌써 많은 분들이 비빔밥 줄에 서 있다. 하지만 오래 기다리지는 않는다. 줄이 금방 빠지기 때문이다. 비빔밥은 밥공장 처럼 자원봉사자들의 빠른 손으로 금방 뚝딱 만들어져 나온다. 저 뒤에서 부터 밥그릇이 앞으로 전달되면서 나물들이 보태져 완성된다. 마지막에 고추장을 뜬 숟가락을 얹어서 건내 준다. 완성된 비빔밥. 미역 냉채국과 함께 제공된다. 비빔밥 속에 가래떡 두 편이 들어 있는 것이 특이했다. 이거 때문에 금방 배부름. 식당에 좌석이 부족해서 마당에 ..
sprintf함수에서 포매팅 처리 방법을 실험해 봤다. 1) 숫자처리 %4d는 네 자리의 십진수를 표시하되 네 자리가 안될 때에는 공백으로 대체합니다. %.4d는 네 자리가 안될 경우 0으로 대체합니다. 2) 문자열 처리 %.10s 는 space_buf 값에서 최대 10문자만 출력합니다.이것은 %10s 처럼 중간에 쩜(.) 이 없는경우와 다릅니다.(.)이 없으면 즉 %10s 라면 무조건 자리를 10개 확보하고 그곳에 space_buf 의 값을출력하는데 만얀 space_buf 의 내용이 10개가 모라라면 나머지 공간은앞부분에 공백으로 남습니다. 그러나 %.10s 는 10개가 모자라도 공백을 주지 않고 바로 다음것을 이어서 씁니다. 예)printf([%d], 1234 ); ==> [1234] printf([..
이클립스 플러그인들을 Update 하게 되면 그 히스토리와 최신 적용된 버젼이 feature.xml 에 보관된다. Update 사이트의 URL도 기록되어 있기 때문에 어디에서 다운로드 받게 되는 지 확인할 수 있다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281..
프로프레임에서 사용하는 쉐어드메모리는 TDL 과 Tcache 가 있다. 보통 이것은 티맥스 유저보다는 프로프레임 유저로 생성한다. 어느 유저로 생성하던 지간에 tdlinit 명령을 실행할 때는 tmdown 상태에서 하는 것이 좋다.생성된 공유메모리가 제대로 해제 되지 못 한 경우에 강제로 삭제하는 방법은 ipcrm 명령을 사용한다. 삭제하기 전에 ipcs 명령으로 현재 생성되어 있는 키값을 조회한다. 많기 때문에 user 로 grep 하여 범위를 줄여서 보면 쉽게 찾아 낼 수 있다. 아래 예제는 75000번을 키로해서 생성된 메모리를 삭제하는 절차를 보여주고 있다.문제의 키값을 찾았으면 ipcrm 명령으로 지워 주자. 쉐어드메모리 키는 생성한 유저로 삭제할 수 있다. 12345678910111213141..