본문 바로가기

프로그래밍/C,C++

(19)
[C#] 파일 읽고,쓰기 기초 > Filestatic File.Create - 파일 생성static File.Copy - 파일 복사static File.Delete - 파일 삭제static File.Exists - 파일 유무 검사static File.Open - FileStream 열기static File.OpenRead - FileStream 읽기 전용으로 열기static File.OpenWrite - FileStream 쓰기 전용으로 열기static File.OpenText - UTF8 형식의 StreamReader 열기static File.ReadAllLines - string[] 으로 모든 줄을 읽고, 닫음.static File.ReadLines - IEnumerable으로 각 라인을 읽음static File.ReadAllBy..
[C#] 이미지 처리 기본 사항들 System.Drawing.Image System.Drawing.Bitmap System.Drawing.Graphics Image는 이미지 데이터의 전체적인 처리를 위한 클래스이다. Bitmap은 Image의 서브 클래스이며, 다양한 생성자를 제공해 Image 생성시 필요한 설정이 자동으로 적용되도록 지원한다. 그리고, 이미지의 세부 정보와 픽셀처리등의 메쏘드가 추가된다. Graphics는 그래픽 객체를 그려주는 클래스이다. > 이미지 부르기 static Image.FromFile static Bitmap.FromResource ex) Image image = Image.FromFile( "test.png" ); Bitmap bmp = new Bitmap( "test.png" ); > 이미지 리소스 해제..
[C#] 이벤트 * event delegate일종의 콜백 함수의 함수 포인터로 이벤트 발생시 호출할 메쏘드의 타입에맞추어 선언하게 된다. public delegate void Test(); * 실제 호출이될 메쏘드를 delegate 형식에 맞춰 구현한다. public void MyTestFunc() {// 어쩌구 저쩌구} * event 키워드위 delegate 함수들을 등록하고, 제거 하는 등의 저장소가 필요한데, event 키워드로간단히 정의가 가능하다. public event Test EventDelegate; * 메쏘드를 event에 등록한다.EventDelegate += new Test(MyTestFunc); * 작업후 이벤트 호출 EventDelegate();
[C#] 폼 띄우기 1. 폼에서 폼 띄우기( show new Form ) 폼외부에 폼을 띄우는건 dialog나 새로운 윈도우로 show 해주면된다. ex) MyForm form = new MyForm(); form.StartPosition = FormStartPosition.Manual; form.Location = new Point( 0, 0 ); form.Show(); 2. 폼 내부에 폼 띄우기( show MDI Form ) mdi 폼도 별차이가 있는건 아니고, Show하기 전에 플래그만 설정해주면 된다. ex) ParentForm.IsMdiContainer = true; MyForm form = new MyForm(); form.MdiParent = ParentForm; form.Show(); 3. 다른 컨트롤 안에 ..
GCC 옵션 빌드옵션 -Idir : include-march : 아키텍처-mtune : -mfloat-abi : fp 방식-mfpu : vfp 사용 유무-msoft-float : fpu가 없는 cpu를 위해 모든 float 연산을 어셈블 코드로 변경-On : 최적화 옵션-D : 매크로 외부 define 설정-ffunction-sections : 사용되지 않는 함수의 text.section 제거-fomit-frame-pointer : 불필요한 프레임 포인터 제거-fstack-protector : 버퍼 오버플로우를 피하기 위한 스택 프로텍터로 ssp 라이브러리를 활성화 한다.안드로이드의 경우 libssp가 보이지 않으므로 지원하지 않는 듯 보인다..(확실치 않음)arm-eabi-4.3.3의 경우 이 옵션이 활성화 되면 ..
POSIX 쓰레드 함수들 #include POSIX 쓰레드int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void * arg);int pthread_join(pthread_t th, void **thread_return);int pthread_detach(pthread_t th);void pthread_exit(void *retval);pthread_t pthread_self(void); 다른 쓰레드의 종료int pthread_cancel(pthread_t thread); int pthread_setcancelstate(int state, int *oldstate);PTHREAD_CANCEL_ENABLE..
[Linux] 세마포어 설정 #include int sem_init(sem_t *sem, int pshared, unsigned int value);int sem_wait(sem_t * sem);int sem_trywait(sem_t * sem);int sem_post(sem_t * sem);int sem_getvalue(sem_t * sem, int * sval);int sem_destroy(sem_t * sem); sem_init : 세마포어 객체를 value 값으로 초기화. pshared = 0 : 현재 프로세스에서 사용pshared != 0 : 여러 프로세스 간에 공유* 현재 Linux는 세마포어가 여러 프로세스 간에 공유되는 것을 지원하지 않음 sem_wait : 세마포어의 값을 1 줄이고, 세마포어의 값이 0인 경우 대기..
[Linux] 라이브러리 > Static Library 라이브러리 생성( lib + 이름 . a )$ ar rc libsample.a a.o b.o c.or : 정적 라이브러리c : 신규 생성 라이브러리에 포함된 오브젝트 확인$ ar t libsample 라이브러리 링크( -L에폴더, -l뒤에 라이브러리 이름을 적는다. )$ gcc -o hello_static_world hello_static_world.c -L./ -lsample 라이브러리 파일의 lib , .a 는 제외한 라이브러리 이름만 적음~ > Shared Library / Dynamic Linked Library 라이브러리 생성$ gcc -fPIC -c a.c b.c. c.c-fPIC : 위치와 관계가 없이 수행될 수 있는 코드로 컴파일 $ gcc -shared -W..