변수 명명법 cb Count of Bytes 바이트 수 dw double word long형 정수 h handle 핸들 sz Null Terminated NULL 종료 문자열 ch Character 문자형 a Array 배열 w Word 부호없는 정수형 i integer 정수형 p,lp long pointer 포인터형 b Bool 논리형 핸들이란? 정수값 대부분의 경우 32비트값. 운영체제가 발급하며 사용자는 쓰기만 한다. 같은 종류의 핸들끼리는 절대로 중복된 값을 가지지 않는다. 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지는 몰라도 상관없다. 유니코드 16비트의 단일한 값으로 지구상의 모든 문자를 표현할 수 있는 문자 코드 체계. C언어의 타입을 바로 쓰지 말고 유니코드 설정에 따라 변경되는 중간..
VS(비쥬얼 스튜디오, Visual Studio)사용시 가끔 접할 수 있는 문제.. 엄밀히 말하면 PCH(미리 컴파일된 헤더)는 에러는 아니구요.. 하지만 코딩하다보면 아래와 같은 문장을 가끔 볼 수 있죠. unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? '#include' statement specified with the /Ycstdafx.h command-line option was not found in the source file 프로젝트를 생성할때 '미리 컴파일된 헤더'에 체크한 기억이 있으세요? 그것땜에 그렇습니다. 미리 컴파..
#include "stdafx.h" int *returnarray(int*); int _tmain(int argc, _TCHAR* argv[]) { int k[10] = {10,9,8,7,6,5,4,3,2,1}; int i; returnarray(k); for(i = 0;i < 10;i++) { printf("%d\n",i); } return 0; } int *returnarray(int a[]) { int i; for(i = 0;i < 10;i++) { a[i] = i; } return a; } int a[]로 선언한 배열에서.. a 라고만 적어주면 배열의 주소값을 의미합니다. 그래서.. 포인터형 함수인 returnarray가 return a를 해주면 a배열의 첫번째 주소를 반환합니다. 주소를 건드린 ..
extern을 사용하면 됩니다. extern을 사용하면 '이 변수는 이미 사용되었으니 컴파일 하지 말자'라고 컴파일러가 인식하고 다른 프로젝트내의 동일한 이름을 가진 다른 변수에서 값을 끌어다가 사용합니다. main.h를 사용하는 a.cpp와 b.cpp에서 동일한 전역변수 int t를 사용하고 싶다면 main.h에다가 extern int t; 를 선언해놓고 a.cpp나 b.cpp 둘중 하나에다가 전역변수로 int t;를 선언하면 됩니다. 둘다 선언하면 안돼요. 한곳에만 선언해야해요. 꼭 헤더에다 할 필요는 없습니다. a.cpp랑 b.cpp랑 c.cpp가 있고 a에 int t;가 선언되있는데 b랑 c에서 t를 사용하고 싶으면 각각 extern int t;를 선언해 주면 됩니다~ 근데 이러면 귀찮겠죠? ㅎㅎ..
프로그래밍 되어있는 소스들을 건들다 보면 #ifdef #ifndef #endif #include #define 이런것들을 볼 수 있는데~~ '전처리기'라고 하죠~ #include와 #define은 모두 아실테고.. 나머지 세개를 볼까요? 너무나 쉽습니다 #ifdef STAR //STAR가 define되어 있다면 #define A B #endif #ifndef STAR //STAR가 define되어있지 않다면 #define A C #endif 이게 다에요~ #endif는 반드시 #ifdef또는 #ifndef와 함께 쓰입니다. stdafx.h를 보면 #define WIN32_LEAN_AND_MEAN // 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다. // Windows 헤더 파일: #incl..
system("xcopy c:\test\1\* c:\test\2 /e"); 를 쓰는데 자꾸만 에러가 나길래 뭐가 문제 일까 고민해 봤어요 생각해보니 c의 문자열에서 \는 특수키를 의미하는거니까, 그렇기 때문에 \라는 string을 표현해 주기 위해서는 system("xcopy c:\\test\\1\\* c:\\test\\2 /e"); 이렇게 써주어야 하는거 같아요. copy 역시 마찬가지~ system("copy c:\\test\\1\\* c:\\test\\2"); 실행결과는 대성공~! 오늘도 즐거운 프로그래밍 :)
- Total
- Today
- Yesterday
- 음악
- API
- 리눅스
- winapi
- android
- C++
- kering
- Quiz
- NDK
- source
- Cloud
- driver
- Python
- algorithm
- jni강좌
- jni
- linux
- Troubleshooting
- db
- 드라이버
- 프로그래밍
- MFC
- Visual C++
- AWS
- C
- gcc
- it
- database
- 안드로이드
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |