Programming 썸네일형 리스트형 Ubuntu/C - 셸 스크립트를 이용한 배치 파일로 컴파일 하기 일괄처리를 통해 컴파일을 하기 위한 가장 기본적인 방법은 셸 스크립트(Shell Script) 작성이다. 셸 스크립트(Shell Script)는 셸에서 사용되는 명령어들의 조합으로 구성되어 여러가지 명령어들을 묶어서 복잡한 결과를 일괄 처리 할 수 있게 해준다. Ubuntu에서 C 프로그래밍을 할 때 분할 컴파일을 통해서 더 효율적인 프로그래밍을 할 수 있는데, 이때 이용할 수 있는 셸 스크립트 방법이다. testA.c와 testB.c 예제 파일은 출력 구문 하나씩만 가지는 기본적인 소스임으로 소스코드는 생략한다. test.sh gcc testA.c -c gcc testB.c -c gcc testA.o testB.o -o testfile Shell Script 작성 후 아래 명령어로 실행하면 # ./te.. 더보기 [Eclipse/Android] Your project contains error(s), please fix it before running it. 해결법 이클립스에서 안드로이드 프로그래밍시 발생하는 에러로 Run As를 하면 "Your project contains error(s), please fix it before running it." 문구가 뜨면서 Run이 되질 않는 문제이다. 이때 Project Clean을 사용해도 해결이 되지 않으며, 명확한 오류 없이도 Run이 되질 않는다. 이 문제에 대한 해결법이다. 윈도우 7 기준으로 C:\Users\Administrator\.android 폴더를 지우면 된다. (Administrator는 컴퓨터 이름에 따라 다르다.) 해결 끝!! 더보기 [VisualStudio2010] 컴파일 시 콘솔창이 잠깐 뜨고 사라지는 현상 Microsoft Visual Studio 6.0을 사용했을 때는 이런 일이 없었는데, Visual Studio 2010을 사용하면서 처음 보는 현상이였다. 소스에 문제가 없음에도, Ctrl + F5을 이용하여 '디버깅하지 않고 시작'을 실행하면 컴파일 후 출력을 하는 콘솔창이 잠깐 떴다가 사라지는 문제를 볼 수 있다. 이에 대한 해결법이다. 프로젝트 - 속성 구성속성 - 링커 - 시스템 - 하위시스템 - 콘솔(/SUBSYSTEM;CONSOLE) - 적용 - 확인 이상 위와 같이 설정을 해주면 콘솔창에 정상적인 출력하는 것을 볼 수 있다. 해결 끝!! 더보기 Ubuntu/C - 우분투 소스 컴파일, 실행 소스 코드를 작성 후 컴파일을 하고 실행파일을 만드는 과정을 알아보자 우분투에서 C 프로그램 소스를 컴파일 할 때는 gcc를 이용하는데, 이는 '컴파일러 드라이버'로 불린다. 소스 코드의 빌드 과정에 따라 실행파일을 생성한다. 1. 프리프로세서에 의한 파일 포함과 매크로 처리2. 어셈블리 코드로 컴파일하고 어셈블 과정을 거쳐 오브젝트 파일로 변환3. 오브젝트 파일 결합과 라이브러리 링크 위에서 프리프로세서란 고급언어를 또 다른 고급언어로 번역하는 번역기라고 할 수 있다. 쉽게 풀어서 보면, 컴파일보다 먼저 실행되어 미리 처리하는 것인데, 컴파일러가 코드를 번역하기 전에 통일된 언어로 맞추어 놓는 역할을 한다. 프리 프로세서에 대한 사항은 추후 포스팅에 자세히 알아보자. 먼저 hello.c 파일에 대한 컴.. 더보기 Ubuntu/C - 우분투 라이브러리 수 파악하기 우분투 설치 후 본격적인 프로그래밍에 앞서 어느 정도의 라이브러리가 준비되었는지 파악할 수 있다. # find / -name 'lib*.a' | wc 설명 lib으로 시작해 .a로 끝나는 파일을 찾는다. (find / -name 'lib*.a') 몇 행인지를 센다. (wc) lib*.a는 정적 라이브러리 형식의 라이브러리 파일이다. 명령어 실행 결과 화면 결과 분석결과로 81 81 3266이 나왔는데, 이는 81행, 81단어, 3266의 문자 개수를 뜻한다. 주의루트 권한이 아닌 상태로 명령어를 실행하면 아래와 같이 뜨는데, 79행, 79단어, 3205의 문자 개수로 결과 나온다. 루트 권한을 주고 실행했을 때와 개수에서 차이가 나는데 루트 권한 없이는 검색할 수 없는 파일들에 대해서 허가 거부 목록을 .. 더보기 이전 1 다음