Computer Science/C 언어 (4) 썸네일형 리스트형 [C언어] 특정 메모리 주소에 직접 값 쓰기 예를 들어, 0x2000100 번지에 0x12345678 이라는 값을 넣으려고 해봅시다. 1. 컴파일 에러 예시 *(0x2000100) = 0x12345678; 2.주소임을 알려주기 위해 (*)를 추가해줍니다. *((*)0x2000100) = 0x12345678; 3. 0x20인 4 byte 만 저장할 것이기 타입을 정해줍니다. *((unsigned long*) 0x20000100) = 0x12345678; 4. Avoid compiler optimization volatile은 컴파일러에게 당신의 변수가 접근하고 있는 코드가 아닌 다른 방법으로 변경될 수 있다고 알려주는 역할을 합니다. *((volatile unsigned char *) 0x20000100) = 0x12345678; 조금 더 편하게 지.. [C언어] 현재 작업 디렉터리 위치 알려주는 함수 (getcwd) C 언어에서 현재 디렉터리를 알려주는 함수인 getcwd에 대해 알아봅시다. getcwd는 get current working directory의 줄임말로 현재 작업하고 있는 디렉토리의 위치를 알려줍니다. Format #include char * getcwd (char *buffer, size_t size) 함수는 이와 같이 구성되어있으며, 아래와 같이 2가지 방법으로 사용할 수 있습니다. 1. char 타입의 buffer 배열을 선언하는 경우 2. getcwd() 함수 내부에서 동적할당하여 작업 디렉터리를 반환하는 경우 2번의 경우에는 free를 통해 자원을 반환해주어야 합니다. 예제를 통해 간단하게 getcwd()에 대해 알아보았습니다. [1] 참고 자료 https://www.gnu.org/softw.. [C언어] mysql 라이브러리 (libmysql) C API libmysql libmysql은 C언어에서 MySQL을 사용할 수 있도록 제공하는 C API 입니다. libmysql을 사용하기 위해서는 가장 우선적으로 mysql_init(), mysql_real_connect()통해 데이터베이스에 연결해줍니다. 이후, MySQL API들을 사용한 후, mysql_close()를 통해 종료시켜줍니다. Connection API MYSQL * mysql_init(MYSQL *mysql) MYSQL * mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socke.. [C언어] 작업 디렉터리(폴더) 변경 함수 (chdir) 작업 디렉터리 변경을 위해, chdir 함수에 대해 알아보자. chdir 은 change working directory의 줄임말로 흔히 Terminal에서 cd 명령을 통해 디렉터리를 변경할 때의 동작과 동일하다. chdir() 함수는 현재 프로세스의 작업 디렉토리에만 영향을 미치며, 아래와 같이 사용된다. #include ... char *directory = "/tmp"; int ret; ret = chdir (directory); 위 코드에서도 알 수 있다시피, C언어에서 chdir() 함수를 사용하기 위해서는 #include 헤더를 추가해줘야 한다. 이후, 이동하고자 하는 디렉터리를 인자로 넘겨줌으로써 chdir() 함수를 호출할 수 있다. 함수 호출 시, 디렉토리 이동에 성공하게 되면 0을 반.. 이전 1 다음