Engineering/Tip & Tech2010/01/14 09:16

MSDN 원문 출처 : http://msdn.microsoft.com/ko-kr/library/ks1ka3t6(VS.80).aspx

다음과 같은 경우 IntelliSense 옵션이 작동하지 않을 수 있습니다.


커서 위에 코드 오류가 있는 경우
삽입 지점 위에 불완전한 함수 또는 다른 코드 오류가 있는 경우 해당 코드 요소를 구문 분석할 수 없으므로 IntelliSense가 작동하지 않습니다. 이 경우 해당 코드를 주석으로 처리하면 IntelliSense를 다시 사용할 수 있습니다.


코드 주석 내부에 있는 경우
삽입 지점이 소스 파일의 주석 내에 있는 경우 IntelliSense 옵션을 사용할 수 없습니다.


문자열 리터럴 내부에 있는 경우
삽입 지점이 다음과 같이 문자열 리터럴을 묶은 따옴표 내부에 있는 경우

MessageBox( hWnd, "String literal|") )
IntelliSense 옵션을 사용할 수 없습니다.


자동 옵션이 설정 해제된 경우
기본적으로 IntelliSense는 자동으로 작동하지만 사용자가 이를 비활성화할 수 있습니다. 자세한 내용은 IntelliSense 옵션 수정을 참조하십시오.

자동 문 완성 기능이 비활성 상태인 경우에도 IntelliSense 기능을 호출할 수 있습니다. 자세한 내용은 IntelliSense 옵션 수정을 참조하십시오.


[C++] .ncb 파일에 문제가 있는 경우 <<<<<
프로젝트 디렉터리의 루트에 있는 .ncb(no compile browser) 파일이 읽기 전용이거나 손상된 경우 IntelliSense 정보를 더 이상 사용할 수 없습니다. 이 문제를 해결하려면 다음 작업을 수행하십시오.


솔루션을 닫습니다.
.ncb 파일을 삭제합니다.
솔루션을 다시 엽니다.
솔루션을 다시 열면 .ncb 파일이 새로 만들어집니다.


Posted by Humaneer
Engineering/Tip & Tech2008/09/01 13:40
회사의 PC에 작은소프트 눈에뵈는 개발도구를 설치하였는데, 도대체 뭘 잘못설치한건지 툭하면 블루스크린이 뜬다. 지우고 다시 설치하여도 또 에러가 난다-_-; 회사PC라 함부로 포맷을 할 수도 없다. 그리하여 GVIM을 깔고, 각종 플러그 인을 달아 왠만한 IDE급으로 쓰려고 하였으나, 이런저런 한계를 많이 느껴서 결국 Eclipse를 사용해보기로 결심하였다. 어제 오후와 오늘 점심시간의 삽질끝에 완성한 결과물이다. ㅋㅋ 간지~!

1. MinGW를 설치한다.

MinGW가 뭐하는 녀석이냐? 윈도우에서 GCC, MAKE등을 사용할 수 있게 해주는 녀석이다. 당연히 freeware이다. ㅋㅋ 검색엔진 아무 곳이나 mingw로 검색하면 쉽게 다운로드를 받을 수 있지만~ 나중에 이 포스트를 다시 보게 될 귀차니스트 '윤정원'을 위해 미리 링크를 걸어둔다. ㅋ
[링크] : http://sourceforge.net/project/showfiles.php?group_id=2435 

사이트에서 Automated MinGW Installer를 다운받아 설치한다. 어떤 패키지를 설치할 것인가를 물어보는 창이 나오는데, 나는 Java Compiler와 Ada Compiler를 제외한 나머지 패키지는 모두 설치하였다. ~_~;

C:\MING 에 설치를 하였을 경우 환경변수중에 PATH에 c:\mingw\bin을 추가해준다. 다른 디렉토리에 깔았다면 거기에 맞춰서 세팅하면 됨
 

2. MSYS BASH를 설치한다.

이녀석은 윈도우에서 Bash shell같은걸 지원하는 녀석인 듯 하다. (자세히는 잘 모르겠다. 요놈을 설치하지 않고도 잘 되었었는데, 모든 세팅을 완료한 후에 인터넷에서 검색한 문서에서 이녀석을 설치하라고 하여서 설치해 보았다. -_-;

역시 mingw로 검색하여 소스포지에 가서 잘 찾아보면 MSYS Base System이라고 있다 요놈을 다운받아서 설치를 하되, i386용으로 다운받아 압축을 풀어보면 설치파일이 없고 lib, bin 같은 폴더만 멀뚱하게 놓여져 있다. 요놈들을 mingw가 설치된 폴더에 복사한다. 그럼 lib는 lib대로, bin은 bin대로 그밖에도 등등 알아서 나뉘어서 설치가 된다. 물론 최신버전이 아닌 이전버전은 설치파일(exe)이 있어서 이놈을 설치하여도 된다.

3. Eclipse를 설치한다.

Free IDE의 본좌라 감히 부를 수 있는 Eclipse~! 내가 자바를 혐오하다시피 하였을 시절엔 이녀석 역시 싫어하였지만, Android Project를 진행하며 이녀석의 강력함과 확장성에 탄복하였다 -_-ㅋ

http://www.eclipse.org에 가서 C/C++ IDE용 Eclipse를 다운받는다. 이녀석은 그냥 압축을 풀면 바로 실행할 수가 있으므로 나같은 경우 c:\program files\eclipse에 압축을 풀어서 사용한다. 단 eclipse를 java로 만든 프로그램이므로 당연히 java run-time(JRE)이 있어야 하겠다. jre가 설치되어 있지 않으면 eclipse가 실행되지 않는다. JRE는 http://www.sun.com에 가서 다운받으면 된다.

4. GDB를 설치한다.

원래라면 MinGW와 함께 GDB를 설치하는게 순서상으로는 맞다. 위의 3번까지의 과정을 마치고 C/C++ 프로젝트를 만들어 빌드하여 실행을 해보니 아주아주 잘 되었다. 뭔가 분명히 삽질의 과정이 있어야 하는데 너무나도 잘되어 불안하기 까지 할 정도였다. -_- eclipse의 기능이 제대로 돌아가게 되어 심히 기분이 흐뭇하였다. 하지만 역시나 디버그가 문제였다. 괴상한 에러메세지를 내며 디버그가 되지 않아서 메뉴에 있는 온갖 세팅과 option을 건드려 보았지만 허사였다. 혹시나 해서 c:\mingw\bin에 가보니 gdb.exe가 없었다-_-; 아니 MinGW Automated Install을 했으면 당연히 디버거도 포함되어야 하는거 아닌가? -_-;

아무튼 GDB를 다운로드하여 설치하니 잘~ 먹힌다 ㅋㅋ 후에 검색엔진을 뒤져보니 gdb를 설치하지 않아 디버그를 하지 못한 삽질을 한 사람이 나 말고도 여럿 있었던 것 같다 -_-;; 역시나 구글링이 대세다.

5. Completed!

간지나는 디버깅 +_+ㅋ

아 그리고 네이버를 잘 애용하지 않는 관계로 아래의 링크를 나중에서야 알게되었다.
http://cafe.naver.com/firstcpp.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=4
아주 자세한 설명이 되어있었다. 이거 보고 따라만 했어도 삽질 덜했을텐데 ㅋ

Posted by Humaneer
Engineering/Tip & Tech2008/07/21 23:00

set ts=4      
set sw=4  
set nu
set autoindent
set cindent
set smartindent
syntax on
map <F2> : !gcc -Wall % -o %<
map <F3> : !./%<


그리고 원래부터 VIM에서 ctrl + p 를 하면, MS Visual Studio나 Eclipse에서 제공하던 Ctrl + Space와 비스무리한 기능을 제공했던가? 플러그인을 설치해야 하는줄 알았는데 Fedora 7 에 기본으로 설치되어있는 vim에서 혹시나 하고 ctrl + p를 해봤더니 된다 ㅋㅋ

map은 vi의 단축키를 의미하는 것으로 F2를 누르면 컴파일을 할 수 있도록, F3을 누르면 컴파일한 파일을 실행할 수 있다. 뭔 통합개발환경도 아니고 이거 원 ㅋㅋ

매우매우 편하게 VI로 코딩을 할 수 있겠군! 잇힝~

Posted by 비회원
Engineering/Tip & Tech2008/03/31 20:29
1,$s/\/\/.*$//g

-_-;; 역시 슈퍼에이스 배성호의 힘이 느껴진다.
Posted by 비회원
TAG vi, vim
Engineering/Tip & Tech2008/03/16 14:20
freecommandLinetools.exe

Borland C/C++ Compiler 5.5

1. 위의 파일을 다운로드 하여 설치한다.

사용자 삽입 이미지


2. 환경변수를 세팅한다.  Path에  C:\Borland\BCC55\Bin 추가
사용자 삽입 이미지


3. C:\Borland\BCC55\Bin 디렉토리에 bcc32.cfg파일을 생성하여 아래와 같이 삽입한 후 저장. (이 파일을 생성하지 않으면 컴파일 할 때마다 일일이 아래의 옵션을 추가해줘야함)
사용자 삽입 이미지

4. c나 cpp파일을 간단하게 만들어서 테스트~ 성공!
사용자 삽입 이미지


5. Editplus와 연동하기. 도구 -> 사용자 도구 설정
사용자 삽입 이미지

명령 : C:\Borland\bcc55\Bin\bcc32.exe
인수 : -v -IC:\Borland\BCC55\include -v -LC:\Borland\BCC55\lib -n"$(FileDir)" "$(FilePath)"
디렉토리 : C:\Borland\BCC55\bin
출력 내용 캡쳐에 체크

실행하기
명령 : C:\WINDOWS\system32\cmd.exe
인수 : /c "$(FileNameNoExt)"
디렉토리 : $(FileDir)




Posted by 비회원
Engineering/Tip & Tech2008/03/14 13:32
다음과 같은 binary search를 하는 함수가 있다고 하자.


위의 함수를 라이브러리로 만들어서 아래의 파일에서 링킹을 시켜서 써먹어보자.


요놈의 오브젝트 파일을 생성하고
gcc -c binary_search.c
라이브러리 파일을 만든다.
ar r libmylib.a binary_search.o
단 라이브러리 파일을 만들 때, 파일의 이름은 무조건 lib가 되어야 하고 확장자는 .a가 되어야 한다.

테스트 코드를 만들어 컴파일 한다. 단 라이브러리 이름을 넣을 때 앞에 lib와 뒤에 확장자.a는 없애고 라이브러리 파일이 위치한 경로를 명시해준다. 기본 경로는 시스템마다 다르겠지만 보통 /usr/bin인가 아마 그럴 것이다.
gcc test.c -lmylib -L./

실행
./a.out

사용자 삽입 이미지

Posted by 비회원
Engineering/Tip & Tech2008/01/29 12:51
  • 링크를 Background에서 새 탭으로 열기 : Ctrl + Click
  • 링크를 Foreground에서 새 탭으로 열기 : Ctrl + Shift + Click
  • 새 탭을 Background에서 열기 : Ctrl + T
  • 탭 간 이동 : Ctrl + Shift + Tab / Ctrl + Tab
  • 현재 탭 닫기, 또는 현재 창 닫기 : Ctrl + W
  • Toolbar Search Box로 이동하기 : Ctrl + E
  • 검색결과를 새 탭에서 나오게 하기 : Alt + Enter
Posted by 비회원
Engineering/Tip & Tech2008/01/27 08:51
http://wiki.kldp.org/KoreanDoc/html/GNU-Make/GNU-Make.html 에서 퍼온 것을 살짝 편집한 것임.

make란 무엇인가


우리말로 하면 make는 프로그램 그룹을 유지하는데 필요한 유틸리티이다.
make유틸리티의 목적은 프로그램 그룹 중에서 어느 부분이 새롭게 컴파일되어야 하는지를 자동적으로 판단해서 필요한 커맨드(gcc따위)를 이용해서 그들을 재컴파일 시킨다고 되어 있다. make는 일련의 프로그램 개발에만 쓰이지 않고, 컴파일러처럼 일종의 명령어 방식으로 처리되는 모든 곳에서 쓰일 수가 있다. 가령 LaTeX와 같은 경우도 .tex 파일에서 .dvi 파일을 만들고 다시 .ps 파일로 만드는 과정을 make를 사용해서 간단하게 만들 수가 있다.

GNU make는 보통 GNUmakefile, Makefile, makefile 중에서 하나가 있으면 그 파일을 읽게 된다. 하지만 일반적으로 Makefile을 추천하게 되는데, 그 이유는 우선 GNUmakefile은 기존의 make에서 인식을 못한다는 단점이 있고, makefile은 보통 소스 파일에 묻혀서 잘 안보이게 되기 때문이다.

Makefile은 make가 이해할 수 있도록 일종의 쉘 스크립트 언어같이 되어 있다(makefile database라 하기도 한다). 이 파일에는 결과 파일을 생성시키기 위한 파일들간의 관계, 명령어 등을 기술하고 있는데 이 강좌의 주된 목적이 바로 Makefile의 작성에 있다.
 

make의 필요성


우선은 make의 사용을 프로그램 개발과 유지 쪽으로 국한시키기로 한다. 보통 라인 수가 많아지면 여러 개의 파일로 나누어 (모듈로 나누어) 개발을 하게 된다. 이들은 알게 모르게 서로 관계를 가지고 있는데, 어느 하나를 필요에 의해 바꾸게 되었을 때 그 파일에 있는 함수를 이용하는 다른 파일도 새롭게 컴파일되어야 한다. 하지만 파일 수가 많은 경우 이를 일일이 컴파일을 하게 될 때, 그 불편함과 함께 컴파일하지 않아도 될 것도 컴파일을 하게 될 수도 있고, 컴파일해야 할 것도 미처 못하게 되는 경우가 있다(링크 에러의 원인이 되기도 하는데 에러의 원인을 제대로 찾기가 힘이 든다). 앞에서도 얘기했듯이 이런 상황에서 지능적으로 관계 있는 것만 새롭게 갱신을 할 필요가 있을 때 make파일은 빛을 발하게 된다.
Posted by 비회원
Engineering/Tip & Tech2007/11/06 10:33

출처 Wikipedia : http://en.wikipedia.org/wiki/Orphan_process

An orphan process is a computer process whose parent process has finished or terminated.

A process can become orphaned during remote invocation when the client process crashes after making a request of the server.

Orphans waste server resources and can potentially leave a server in trouble. However there are several solutions to the orphan process problem:


  • Extermination is the most commonly used technique; in this case the orphan process is killed.
  • Reincarnation is a technique in which machines periodically try to locate the parents of any remote computations; at which point orphaned processes are killed.
  • Expiration is a technique where each process is allotted a certain amount of time to finish before being killed. If need be a process may "ask" for more time to finish before the allotted time expires.


A process can also be orphaned running on the same machine as its parent process. In a Unix-like operating system any orphaned process will be immediately adopted by the special init system process. This operation is called re-parenting and occurs automatically. Even though technically the process has the "init" process as its parent, it is still called an orphan process since the process which originally created it no longer exists.

Posted by 비회원
Engineering/Tip & Tech2007/10/28 09:12
우리 학교 캠퍼스에서는 네스팟을 공짜로 할 수 있다. 한 달마다 ID를 갱신해야 하는 것이 좀 번거롭기는 하지만 교내 어디서든 무선랜을 마음데로 할 수 있다는 거~, anyway 네스팟에 접속할 때 부여받은 아이디와 p/w를 통해 접속할 수도 있지만 Mac인증도 가능하다.

우분투에서는 Mac인증을 하려면 우찌 해야하느냐 하면 /etc/dhcp3/dhclient.conf를 조금만 수정하면 된다.
(배성호는 역시 모르는 것이 없어.. -_-b)

사용자 삽입 이미지

send host-name을 Ubuntu를 설치할 때 설정한 호스트 이름으로 설정하고
send dhcp-client-identifier 부분을 wireless lan card의 mac ip로 세팅해주면 된다.
Posted by 비회원