블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
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 31

공지사항

최근에 올라온 글

비쥬얼스튜디오 2012 "문자열 (빠른)바꾸기" 단축키 ALT+E,ALT+E 설정


메뉴->도구->옵션->환경->키보드

매핑 구성표 = Visual C++ 6

명령표시 = 편집.빠른바꾸기로전환

바로 가기 키 누르기 = ALT+E,ALT+E (할당,확인)



VC++ 6.0의 단축키 = ALT+E, ALT+E




디버그.디버깅중지

Shift+F5  => ALT+D,ALT+D

Posted by 안녕1999
, |

거의 최신 비쥬얼 스튜디오에서 작성된 소스를 VC++6.0에서 컴파일하려고한다. 물론, 2017년인 지금은 윈도우7이 대다수이고, 윈도우10도 있고, 윈도우XP는 점점 사라지는 추세이다. 윈도우7도 판매를 안한다. 어쨌든, 컴파일을 하려고한다.

물론, 내가 만든 소스가 아니다. 다른사람이 만든 소스를 컴파일할때는,

- 안쓰는 코드도 있다. 제거하라

- 최신기술(?)을 사용하는 사람들은 그게 어떻게 돌아가는지 모르는 경우도 많다.

내부를 모르니, 어찌 어찌 하다보면, 완전 소모적이고, 덩치크고, 어이없는 코드를 작성하는 경우도 많다. 간단하게 해결될것을 말이다.

특히 C++ 클래스 기능을 사용하다보면, 내부에서 어떻게 돌아가는지 알길이 없다. 그러니, 중복에 중복을 해서, 덩치크고, 무거운 프로그램이 만들어진다.

복잡한 코드는 생각보다 훨씬 간단한 코드로 대체될 수 도 있다.


우선 유니코드로된 파일이 몇개있다. 메모장에서 열어서 ANSI로 저장했다. 메모장에서 깨져서 열리는 파일은, 워드패드로 열어서, MS-DOS형식으로 저장, 메모장에서 열어서, ANSI로 저장. fatal error C1083: Cannot open include file: 'afxcontrolbars.h': No such file or directory 리본막대컴트롤 VC++6.0에서는 사용불가 참고문서

일단, 주석처리 using namespace Gdiplus;//주석처리 알수없는 DLL 헤더파일 #include는 헤더파일 찾아서, 전체경로명 넣어줌. include에서는 전체경로명에는 \가 아니라, \\로 해야함.


#include <set>//주석처리

#include "json.h" 위키문서 참조 JSON(제이슨[1]JavaScript Object Notation)은 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히,인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다.

std::numeric_limits 이게 문제이다.
사용하는 코드(함수)인지 검색해본다.

사용안하면, 삭제


파일을 못찬느다는 에러나는 include는 과감하게 주석처리했다.

불필요한 코드도 대부분(?) 제거했다.


우선 메인부터 찾는다.

이 프로그램은 다이얼로그로 만들어져있다.

OnInitDialog, OnPaint, 통신, 키보드, 마우스, 파일처리등을 살펴본다.


static_cast<int>는 (int)(...)으로 바꾸면된다.

dynamic_cast<xxx*>는 (xxx*)로 바꾸면된다.




Posted by 안녕1999
, |

가변인자 매크로 만들기~


결론은 잘안됨.




기타

----------

gcc에서는 ...도 잘 인식하나, VC++ 6.0에서는 인식이 안된다.


"..." 대신, __VA_ARGS__사용(잘안됨)


#define my_printf(str,__VA_ARGS__)   xxprintf(str,__VA_ARGS__)

Posted by 안녕1999
, |

vc++ 6.0 remove all breakpoints


<CTRL>+<B>  -> Remove All


Posted by 안녕1999
, |

임베디드 mcu프로그램을 하기위해,

gcc arm 컴파일러를 준비하고,


compile.bat 파일을 만들어, 컴파일 할 수 있게 설정했다.


VC++6.0에서는 MakeFile 프로젝트를 만들어서, 아래와 같이

배치파일을 넣어준다.


Debug모드 : Build command line = compile.bat

Release모드 : Build command line = DownLoad_main_HEX.bat


VC++ 6.0에서

Debug모드로 컴파일하면, 컴파일이 되고,

Release모드로 컴파일하면, 다운로딩이 된다.


장점

- 프로젝트를 WIN32환경으로도 구축하여, WIN32에서 알고리즘 동작테스트 후,

  gcc로 컴파일하여 다운로딩하면, 개발 시간을 단축할 수 있다.

  gcc등으로 "컴파일 -> 다운로딩 -> 테스트 -> 수정 -> ..." 무한반복을

  "WIN32에서 알고리즘 동작테스트 -> gcc컴파일 -> 다운로드"

- 도스창(배치파일)로 컴파일하는것 보다는 훨씬 편하다.

- 도스창에 나오는 내용은 Build창에 나온다.


단점

- VC++ 6.0 사용하는 사람이 적음

- 도스창에 나오는 내용중, 진행상황을 표시하는것은, 완료가 되어야 나온다.

  예) 다운로딩



VC++ 6.0자체가 가볍지는 않고, 유료 프로그램이라서,

약간 부담은 되나,

크로스컴파일러를 설치하고, 해당 컴파일러 환경을 사용하는데, 불편한 사람들

(즉, VC++ 6.0이 익숙한 사람들)에게는 좋은 환경이된다.



VC++ 6.0의 편집툴(IDE)은 비교적 가볍고, 검은색 배경으로 설정하면,

눈도 덜아프다.(색상 조절이 잘되는편)


현재 나온 대부분의 크로스컴파일러들은 VS 2005와 비슷한 IDE를 가지고 있으며,

무겁고, 색상, 폰트 변경이 조금만 되는 것들이 많다.



WIN32, gcc 크로스컴파일 환경 구축방법

==================================

WIN32 프로젝트를 만들고, 위에서처럼, MakeFile 프로젝트를 추가하면 된다.

Posted by 안녕1999
, |

윈도우7 64bit

VC++ 6.0으로 디버깅후, 종료하면, 종료가되지 않는다.

모든 프로젝트를 닫으니, 종료되었다.

원인 : ?

Posted by 안녕1999
, |

CScrollView에서 스크롤바 없애기


스타일에서 스크롤바 속성을 제거해도, 사라지지 않음.



CView로 하면 되지....


Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함