일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- QT
- 정성하
- 양평역
- 스타크래프트2
- 스타2
- 윈도우7
- 디자이어HD
- HTML
- 안드로이드
- 바이크
- 오토바이
- Java
- 고속도로
- 마영전
- QTcpServer
- 잡담
- Qt OpenGL
- FFI
- 자바
- android SAF
- 엑티브엑스
- vuejs
- Qt 소켓프로그래밍
- Qt4
- 자료구조
- 재귀함수
- 이륜차
- qt 설치
- 알람프로그램
- c언어
- Today
- Total
목록프로그래밍/C,C++, Win32Api (28)
프로그래밍과 잡담
C#에서 dll을 사용해서 실행 할 경우 개발한 컴퓨터에서는 동작을 하나, 다른 컴퓨터에서 실행한 경우에는 오류가 발생하는 경우가 있다. 오류 메시지는 다음과 같다. DLL "DLL ' dll 이름'을 로드 할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (HRESULT: 0x8007007E) 프로그램에는 문제가 없는건데, 로드가 안돼니 매우 짜증이 난다. 그래서!! 구글 신에 검색을 한 결과!! 한 블로그에서 해결법을 찾았다. 비주얼 스튜디오에서 프로젝트에서 오른쪽 클릭 -> 속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리를 다중 쓰레드(/MT) 로 설정을 하고 다시 빌드를 하면!! 잘 돌아간다.
기존의 윈폼이나 WPF에 비해서 뭐가 많이 바뀌어서 뭐가 뭔지 모르겠네. 게다가 설명을 좀 볼려고 홈페이지에 들어가도 느려터져서 보기도 힘들고 영 구리구만.. 컴포넌트들도 뭔가 사용하는데 어렵고.. 뭐랄까 명확한 느낌이 안들고 난해하다는 느낌이 들어서 난 못하겠다. 나야 C#으로 해볼려 했는데 뭐가 뭔지 모르겠어서 포ㅋ기ㅋ html5로도 만들 수 있는거 같은데 그건 더 모르겠으므로 ㅋㅋ 자바스크립트는 난해하고 intellisece도 제대로 안돼서 쓰기 싫어.
음 이 사이트로 들어가면 자세히 설명되어 있다. http://www.codeproject.com/Articles/15971/Using-Inline-Assembly-in-C-C 문제라면 영어로 되어 있다는게 문제라면 문제지..
빌어먹을 C++는 자바와는 다르게 귀찮은게 많네.. C++을 할때는 몰랐는데 좆같구만. //A.h #include "B.h" class A{ ... public: ... B varB; ... } //B.h #include "A.h" class B{ ... public: .... A varA; .... } 이런 경우에 아주 좆같은 형상이 일어 날 것이다.해결 방법은 그냥 맨위에 클래스를 선언해주면된다. //A.h #include "B.h" class B; class A{ ... public: ... B varB; ... } //B.h #include "A.h" class A; class B{ ... public: .... A varA; .... } 위에 처럼하면 된다. 아씨 자바는 이런 지랄을 떨 필요가 ..
인터페이스란 어탭터라고 생각하면 된다. 110 볼트는 [| |]이런 모양으로 되어 있지만 220 볼트는 [o o] 이런 모양이다. 전파상에 가면 어댑터 달라하면 이런거 본 적 있을 것이다. 프로그래밍에서 인터페이스도 마찮가지다..인터페이스는 그냥 저런 구멍을 제공할 뿐 외부 클래스에서는 내부 구현을 어떻게 하는지에 대해서 알 필요가 없다. 자바는 그냥 interface라는 이름이 아예 있고 c++ 같은 경우는 애초에 인터페이스라는게 없다. 왜냐하면 다중상속이 가능한 언어이기 때문에 인터페이스같은게 필요 없다.그냥 일반적인 상속하는 것처럼 만들면 된다. 물론 자바 인터페이스처럼 함수들은 다 순수가상함수로 만들어야겠지만.. 뭐 난 자바가 편하니까 자바형식으로 하겠다.. 예를 들어서 압축을 해제하는 라이브러리..
기억이 안나서 적어 놔둘려고 한다. 클래스를 만들때는 template int func(Type t); template class MyClass { public: void func(); private: T a; }; template void MyClass::func() { ..... } 이런식으로 사용한다. 문제는 정의 부분에도 사용해줘야한다는거 안하면 에러..
C하고 C++의 가장 큰 차이점.. 객체지향이란 점이다.. 객체지향이 뭐냐면.. 구글 검색 인터넷에 널린게 객체지향의 대한 설명이기 때문에. 고로 설명은 생략.. c++에서는 class 라는걸 사용한다. 가장 기본적인 구조는 아래와 같다. 가장 기본적이다.. 고로 아무런 기능도 없다. --------------------------- class MyClass { }; --------------------------- 그래서 더 추가를 해보자.. -------------------------------- class MyClass { public: ///생성자 MyClass(); //소멸자 ~MyClass(); protected: void print(); private: //맴버변수 int a; }; ---..
전에도 했지만...추가적인것.. 파이선 코드다.. 보면 알겠지만.. C하고 그다지 차이 않난다. 다만 C처럼 데이터타입을 쓰지 않는다는것. def는 함수 사용할때 사용한다. 그거 말고도 사용하는거 같은데.. 파이선은 나도 공부하는 중이라서... range() 함수는 인자가 1, k+1이라고 되었는데.. 1부터 k 까지라는 뜻이다. 그리고 파이선은 { 이거 안쓴다. 텝으로 정한다. 함수 안에 들어갔으면 그 함수에 있는 거고 밖에 있으면 그 함수에 없는거다. def t(): a= "hello"; // 변수 str = "hello"; //t() 함수 변수 아님 파이선 설명은 이쯤이면 됬고.. 일반적인 for 문으로 만든 팩토리얼 함수. def Factorial(k): r =1; for i in range(1,..
단일 연결리스트와 다른건 struct Node{ int key; struct Node* left; struct Node* right; } 위와 같이 두개로 되어있다. 단일 연결리스트의 단점은 검색을 할때 뒤로 못가는데 이건 그게 가능해진다. 단일의 경우 뒤로 갈려면 환영구조로 해서 한바퀴 돌아서 오는 수 밖에는 없다. 그래서 주로 이중연결리스트를 많이 사용한다. 삽입과 삭제는 단일과 같기 때문에 안쓴다. left에 전 노드의 주소를 넣어주면 된기때문에 그 외에는 다른게 없다. 삭제 할때는 좀 더 편하다. 왜냐하면 찾는 노드가 전에 노드의 주소와 다음 노드의 주소를 가지고 있기때문에 ..바로 이어 줄 수 있다. 이중 ... 단일 노드 -> 노드 -> 노드 -> ...
단순 연결리스트의 기본 구조는 typedef struct _node{ int key; struct _node *next; }Node; 위와 같은 형식을 가진다. 단순연결이기때문에 검색을 할려면 앞에서부터 순차적으로 들어간다. 뒤로 가는건 안됀다 오로지 앞으로만 갈 수 있다. 뒤로갈려면 이중연결리스트를 써야한다. 연결리스트의 단점은 배열보다 용량을 더 잡아먹고, 주소를 잘못 지정하면 전에 있던거나 앞에 있던게 메모리 상에서 떠돌아다니게 된다. 뭔말인고 하니 메모리 누수가 생긴다는거다. 물론 C일 경우에만 Java나 C# 같은 GC(garbage collector)가 있는 랭귀지는 관계 없다. Head -> A - > B - > C - > D -> NULL C를 찾기 위해서는 Head 에서부터 C까지 들어가..