프로그래밍
-
폴더 내 파일 찾아 읽기프로그래밍/C++ 2015. 1. 23. 14:21
1. VS용#include #include #include void main() { _finddata_t fd; long handle; int result = 1; if ((handle = _findfirst(path, &fd)) == -1) return; while (result != -1) { printf("file name : %s\n", fd.name); result = _findnext(handle, &fd); } _findclose(handle); } 2. 공용 (POSIX Standard) #include #include int main() { DIR* dirp; struct dirent* dp; dirp = opendir("."); while (dirp) { errno = 0; if ((d..
-
[우분투] apt-get cahe limit 에러프로그래밍/리눅스 2015. 1. 21. 00:11
우분투에서 패키지를 다운 받기 위해서는 apt-get 을 사용해야 하는데가끔 cache 크기 관련 에러가 뜬다. ▲ 우분투 apt-get 에러 에러 내용으로 보면 mmap(메모리 맵)이 설정 해놓은 캐쉬사이즈를 넘어섰기 때문에 난 걸로 추정할 수 있다.그리고 해결책도 알려주는데 cache 사이즈를 늘리면 된다라고 한다. 오오오.. 역시 에러 내용만 잘 봐도 답이 보이는구나!! 해결책은/etc/apt/apt.conf.d/70debconf. 를 에디터로 열어서APT::Cache-Limit "100000000";을 아래 입력 해준다.그 후 터미널에 타이핑을 이와 같이 해주면 된다!sudo apt-get clean && sudo apt-get update --fix-missing 짜잔! 그럼 다시 패키지가 잘 ..
-
getline 함수프로그래밍/C++ 2015. 1. 7. 20:40
파일을 읽을 때 한 줄 씩 편하게 읽을 수 있는 함수. 리눅스에서도 윈도우에서도 자주 사용하는 함수로 파일과 관련되어 자주 보게된다. 함수명getline 개요#include ssize_t getline(char** lineptr, size_t* n, FILE* stream); lineptr : stream으로부터 읽어 들인 char*로 파일 내용이 저장되어 있다. n : lineptr의 동적할당 크기이다. stream : 파일 포인터 리턴값 : stream으로 부터 읽어들인 데이터의 실제 길이 getline은 stream으로부터 한 줄씩(개행문자까지) 읽어들이는 함수이다. 최초 사용시 lineptr이 NULL이고 n이 0일 경우 getline함수 내에서 동적할당을 한다. 이후 stream안에 있는 한 줄..
-
telegram cli을 이용한 서버 모니터링프로그래밍/리눅스 2014. 12. 15. 09:46
설치방법wget https://github.com/vysheng/tg/archive/master.zip -O tg-master.zipunzip tg-master.zip 필요한 라이브러리 설치https://github.com/vysheng/tg 참고 sudo apt-get install- libreadline-dev- libconfig-dev- libssl-dev- lua5.2- liblua5.2-dev- libevent-dev- make 작성중..
-
SQLite3 라이브러리 생성하기프로그래밍/C++ 2014. 11. 13. 15:13
많은 스마트폰 기기 및 OS에서 사용하는 DB는 바로 SQLite.매번 SQLite를 사용할 때 마다 기억이 나지 않으니 이 참에 블로그에 library 생성 방법을 작성하도록 한다. 먼저 sqlite 사이트 (여기클릭)에 접속하여 아래와 같이 두 종류를 다운 받는다. sqlite-amalgamation-201411111459.zip을 다운 sqlite-dll-win32-x86-3080701.zip을 다운 위에서 받은 두 개의 파일을 압축을 푼다. source와 dll, def파일이 들어있다. 자.이제 필요한 자료는 다 모였으니 lib를 만들어보자.먼저 프로젝트를 생성해야겠지. Win32프로젝트로 마음에 드는 이름의 프로젝트를 생성 다음으로 넘어가다가 이 화면에서는 무조건 DLL 및 빈 프로젝트로 설정하..
-
맥(Mac)에서 안드로이드 개발환경 세팅하기프로그래밍/안드로이드 2014. 10. 31. 01:43
home 디렉토리 아래 ADT 폴더를 생성 후 다운받는 모든 파일들은 여기에 넣는다. 1. http://developer.android.com/index.html 접속2. 안드로이드 SDK 받기3. 압축을 풀어 ADT 폴더에 넣기.3.1 압축을 풀면 eclipse와 sdk폴더 두 개가 있다.3.2 이클립스를 실행하면 이클립스 실행에 필요 한 jdk 파일을 다운로드 한다.3.3 설치 후 이클립스가 실행되는지 확인.4. http://developer.android.com/tools/sdk/ndk/index.html 접속5. ndk 받기. (OSX 10.5 이상 부터는 64bit로 되어 있으므로 64bit를 다운 받자)6. 다운받은 ndk를 ADT 폴더로 이동7. terminal 실행7.1 ndk 다운받은 폴..
-
리눅스 시그널 (signal)프로그래밍/리눅스 2014. 10. 2. 17:18
리눅스에서 단 한번이라도 프로그래밍을 해봤다면 control+c를 누르면 프로그램이 중지되는 걸 볼 수 있을 것이다.이건 현재 실행중인 프로그램을 중지할 수 있는 무언가(?)를 했기 때문이다.이런 무언가를 리눅스에서는 시그널(Signal)이라고 한다. 리눅스 Signal 윈도우 Message 자바 Event 시그널의 종류는 굉장히 많은데 signum.h에 가보면 그 종류를 볼 수 있다./* Signals. */ #define SIGHUP 1 /* Hangup (POSIX). */ #define SIGINT 2 /* Interrupt (ANSI). */ #define SIGQUIT 3 /* Quit (POSIX). */ #define SIGILL 4 /* Illegal instruction (ANSI). ..
-
우분투에서 Taglist를 사용하자.프로그래밍/리눅스 2014. 9. 22. 23:44
리눅스 계열에서 프로그래밍을 하면 대부분 많은 프로그래머들이 VI(혹은 VIM)을 사용한다.아무래도 커맨드창에서 프로그래밍을 하는 거라 VS에 익숙한 프로그래머들에게는 많은 어려움이 있을 수 있다.(아무래도 VS에서 워낙에 지원해주는 것들이 많기 때문에) 그래서 조금이라도 더 편하게 하기 위해 VI 개발자들은 여러가지 확장 기능을 제공한다.그 중에 하나가 Taglist인데 이는 VS로 따지면 솔루션 탐색기의 클래스 뷰와 비슷한 기능이다. ▲ Taglist 사용 화면 기본적으로 Taglist를 사용하기 위해서는 Ctags가 필요로 하니 빠르게 설치 한다. Ctags를 설치하고 난 후엔 공식 홈페이지(클릭)에서 최신버전의 taglist를 다운 받는다.다운 받고 나서 압축을 풀어보면 doc폴더와 plugin폴..