Study53 Python에서 c,c++ 코드 사용하기 python의 ctypes를 이용하면 c혹은 c++에서 작성한 코드를 사용가능하다. a.cpp 에서 작성한 단순 곱셈함수 mul을 python에서 사용해보자. //a.cpp #include extern "C"{ int mul(int a,int b){ return a*b; } } 위 파일을 공유라이브러리로 만들어 주어야한다. g++로 a.cpp를 liba.so로 만들어주자. g++ -shared -fPIC a.cpp -o liba.so liba.so 파일이 생성되었다. a.py에서 liba.so의 mul을 사용해보자. #a.py import ctypes a = ctypes.CDLL("./liba.so") mul = a.mul print(mul(13,43)) a.py를 실행시키면 559가 출력된다. 2020. 10. 4. MFC frame 초기 스타일 지정하기 frame의 PreCreateWindow에서 스타일을 지정해주면 된다. BOOL CFrameWnd::PreCreateWindow(CREATESTRUCT& cs) 가 본체이며, 만약 CFrameWnd 를 상속하여 만든 frame이 CMainFrame라면 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 에서 cs.style을 건드려 주어야 한다. 만약, 프레임을 마우스로 크기조절되는것을 막고싶다면, WS_THICKFRAME 을 제거해주어야한다. 제거는 not, and연산으로 해준다. cs.style &= ~(WS_THICKFRAME); 로 할 수 있다. 만약 창에서 최소화, 최대화 박스도 같이 없애버리고싶다면 다음과같이 해주면 된다. cs.style &= ~(WS_.. 2019. 4. 21. MFC 꺾은선 그리기 CArray 와 CDC::PolyLine을 사용하면 된다. CArray points; CArray 의 Add() 를 사용해서 더해주고 CArray 의 GetData()로 CArray를 배열로 가져올 수 있다. BOOL CDC::Polyline(LPPOINT lpPoints,int nCount); 에 점들과 배열 길이에 관한 정보를 넘겨주면 되는데, 다음과 같이 쓸 수 있다. // onPaint에서 CPaintDC dc(this); dc.PolyLine(points.GetData() , points.GetSize()); std::vector를 사용할 수도 있다. std::vector vPoints; // onPaint에서 CPaintDC dc(this); dc.PolyLine(&vPoints[0] , vP.. 2019. 4. 21. 이전 1 ··· 3 4 5 6 다음