본문 바로가기

프로그래밍/C/C++/C#7

C언어에서 구조체 사용 시 주의 사항 C언어의 구조체안에서는 변수를 초기화 할 수 없으며, static으로 지정할 수 없다. 즉. typedef struct { char name[64];char course[128];int age = 0;int year;static int count; } student;은 오류를 발생한다. 'int age = 0;' 와 'static int count;' 와 같이 변수를 초기화 하거나, static을 이용하면 안되기 때문이다. 2014. 5. 3.
Makefile에서 -D로 정의하기 Makefile에서 -DTEST 라고 정의하면 함수 내에서 #define TEST 라고 한 것과 같다. 그런데 Makefile에서 -DTEST와 -DTEST=1 은 같다. 따라서 Makefile에서 -DTEST 라고만 정의해도 c 함수에서 if(TEST=1){ }가 수행된다. 2014. 5. 3.
C 언어에서 extern과 staic 변수의 이해 C언어에서 extern과 static의 사용법을 알아보자. 1. 전역 변수 앞에 쓰이는 extern 과 static 1) extern 전역 변수 전역 변수를 선언만하고 나중에 사용할 때 값을 지정할 수 있다. int global_var; void main() { global_var = 1; printf("%d \n", global_var); } 아래처럼 사용하면 변수를 선언하면서 초기화를 동시에할 수 있다. int global_var = 1; void main() { printf("%d \n", global_var);; } 이제 앞의 에서 선언한 전역 변수를 다른 파일의 코드에서 사용하려면 아래와 같이 하면된다. extern int global_val; int sub() { global_val = 1 p.. 2013. 6. 16.
DLL과 LIB 차이점 설명 라이브러리 만드는 이유는 소스의 외부 유출 없이, 자신이 만든 모듈을 외부와 공유하기 위해서다.또한 미리 컴파일 되어 있어서 컴파일 시간도 단축된다.이때 라이브러리는 동적 라이브러리와 정적 라이브러리가 있는데, 각각의 특징을 살펴보자.아래의 특징을 보고 동적 라이브러리와 정적 라이브러리 중 어느 것을 사용할 지를 결정하면 된다. 1. 동적 라이브러리(Dynamic Link Library)프로그램 실행 시 필요시만 외부 DLL 파일에서 함수를 참조프로그램 실행 시 프로그램 로딩 시간이 단축함수 업그레이드 시 해당 DLL만 수정 배포한다소스 외부 유출 방지 효과실행 파일 만들때 필요한 파일: *.h,*.lib (*.dll 참조 용)프로그램 실행할 할 때 필요한 파일: *.dll (배포할 때 *.dll 필요).. 2012. 11. 10.