[C/C++/C#] dll

1. Predefined macro _CONSOLE 매크로는 하위시스템이 콘솔일때 정의된다. _WINDLL 매크로는 dll프로젝트일때 정의된다. http://stackoverflow.com/questions/7697859/visual-studio-macro-for-checking-configuration-type-exe-dll 이를 이용하면 dll 프로젝트에서 테스트를 위해 main 함수와 »

[C] __noop키워드

이 글을 쓰는 시점 2016년 11월 19일! 2013년 11월 17일에 네이버 블로그에 써논 글을 보았다. 정확히 3년 전인데 내가 3년전에는 이런걸 했구나 하는 느낌... 여튼 __noop »

[C] linux 시간측정 gettimeofday

나는 여태 시간 측정을 할때 clock() 함수를 사용했는데, 지난번 sandbox 를 구현하면서 시간이 잘 측정이 안되길래 Sleep() 를 하는동안은 측정을 못하는걸 대충 알고는 있었다. 리눅스에서 clock( »

[C] Math Function

C 의 <math.h> 에는 여러가지 수학 함수들이 존재한다. 이들에 관해 간단하게 정리를 해본다. 1. 자연로그를 쓰자. 먼저 간단한 log 함수에 대해 적어본다. log는 »

[C][C++][Perl][Pascal] String Format

특정 자료형 int,double 등을 문자열의 형태로 만드는 작업은 많이 사용되는 작업이다. C언어 는 sprintf 라는 함수를 사용하며 사용법은 아래와 같다. #include<stdio.h> »

[C/C++] cross platform coding

1. OS check #if defined(_WIN32) || defined(_WIN64) char* os = "windows"; #elif defined(__linux__) char* os = "linux"; #elif defined(__APPLE__) char* os »

[C++] 함수 객체

**C++**은 C 의 95%를 포함하고있다. 그러나 그 대체본이 거의다 존재한다. C++ 을 사용한다면 성능 문제를 제외하고, **C++**을 사용하는게 맞다. C에서의 시간측정은 time.h »

[C] 에라스토테네스의 체

기존의 에라스토테네스의 체는 배열이 필요하였다. 하지만, 특정 N에 대한 소수 판별을 할때 배열을 두고 할수는 없으니, 간단하게 쓸수있는 소수 판별을 올려놓는다. #include<stdio.h> »

[C] 1비트수 세기

첫 번째 방법은 2로 나누어 가면서 나머지가 1인것의 개수를 세는 방법이다. 가장 단순한 방법이다. int BitCnt1(int v){ int cnt = 0; while (v){ cnt += v % 2; »

[C] realloc 함수

realloc 함수는 malloc 이나 calloc 으로 생성한 메모리블럭의 크기를 늘려주는 함수이다. C의 엄청난 장점 중에 하나다. 예를들어 vector 를 구현할때 realloc 을 사용하면 새로 할당한 배열에 »

[C] 하드웨어를 이용한 최적화 기법

C를 좀더 빠르게 짜기위한 기법이다. 주로 사용할일은 없지만, 알고리즘풀이 사이트에서 극한의 속도를 내기위한 기법들을 소개한다. 1.cache 적중률을 극대화 하라. cache 메모리는 CPU가 주메모리와의 속도차이에 의한 »

[C] 반디집 자동설치 프로그램

Windows에서의 wget , 다른 프로세스 제어 나는 운영체제를 자주 설치하는 편이다. 뭐 이런저런 이유가 있지만 하드카피기기가 없는것이 가장 큰 이유이다. Linux야 bash나 perl로 설치 명령어만 써주면 자동으로 »

[C] 2진수, 8진수, 16진수,N진수

가장 처음 배우는것이 2진수 변환이다. 정수 n을 2로 나눠가면서 0이될때까지의 정보를 저장 & 역수능로 출력하는것이라고 배웠다. 비트연산을 조금만 사용하면 추가저장공간이 필요없는 2진수를 출력할 수 있다. n은 »

[C] gcc usage

gcc는 리처드 스톨만이 개발한 C언어 컴파일러이다. Windows에서 설치법 https://sourceforge.net/projects/mingw/files/ 위 사이트에서 mingw-get-setup.exe를 받아서 실행하면 된다. 실행후 아래 4개의 옵션에 체크한후 »

[C] C99

1.가변 길이 배열(VLA : variable-length array) c90 에서만 해도 배열의 선언시 크기는 반드시 상수여야 했다. 그러나 c99 에서 부터는 배열의 크기를 변수로 지정할 수 있게 »