728x90
반응형
728x90
반응형
728x90
반응형


 간략히 정리해본  C/C++ 의 히스토리이다.
중요한 표준 버전만을 명시하였으며, C와 C++의 새역사는 이제부터구나 라는 생각이 들게 한다!!
하일 비얀!! 
728x90
반응형
728x90
반응형

Visual Studio 2005/2008 에서 더 이상의 dll hell 을 겪기 싫다는 의견을 반영한 것이
WinSxS 입니다. 요놈은 말하자면 닷넷 GAC의 native 버전이라고 할까나요??!!
어쨌든 요놈 덕에 동일한 이름으로 제공되는 ms의 native dll 을
앞으로는 버전 별로 관리 및 접근할 수 있게 되었습니다.
(참고로 이놈은 XP 이상의 버전에서만 제대로 사용 가능합니다.)
그런데, WinSxS에 dll 복사/설정을 사용하지 않고 배포하는 방법이 msdn 에 있습니다.
그건 vc가 제공하는 redist 경로에 있는 파일/경로를 exe 파일과 동일한 경로에 복사하여 넣는
방법입니다.
 vs2005 와 x86 시스템(주로 인텔계열/32비트 XP,비스타)을 예를 들자면
Microsoft.VC80.ATL
Microsoft.VC80.CRT
Microsoft.VC80.MFC
Microsoft.VC80.MFCLOC
Microsoft.VC80.OPENMP
; 그리고 디버깅 버전용을 위한
Micorosft.VC80.DebugOpenMP
Microsoft.VC80.DebugCRT
Microsoft.VC80.DebugMFC
등이 있습니다. 이 방법은 매우 간단하며, 배포 시에 윈도 경로를 접근하는 보안 문제에 민감한 경우에
사용하기 좋습니다.
그런데...또 그런데...요 방법도 문제는 있습니다. 아무래도 WinSxS 처럼 경로에 gloabl unique id 를 주는
방법이 아니기 때문에 비주얼 스튜디오의 서비스팩등에 의한 버전 차이에 대응하기가 어렵다는 겁니다.
이럴때, 가장 확실한 방법은 빌드한 컴퓨터의 vs의 redist를 복사하면 매우 정확합니다.
그렇지 않은 경우는 WinSxS를 사용하는 것이 더 나은 방법이기도 합니다.
아래는 vs2005의 서비스팩이 적용되기 이전과 이후의 dll 들입니다.
(물론 x86 용만입니다. ie64, amd64 등은 다른 dll을 사용해야 합니다)

728x90
반응형

'C C++' 카테고리의 다른 글

History of C/Unix/C++/Linux/gcc/glibc  (0) 2009.01.13
C/C++ 역사  (0) 2009.01.03
[MFC] CArchive 와 CString  (0) 2008.11.07
[WIN32] 프로그램(프로세스) 한 번에 죽이는 예제  (0) 2008.04.25
Shift Operaotr  (0) 2008.03.28
728x90
반응형

URLDownload.zip
다운로드

[기능]
1) URL의 파일을 로컬로 다운로드
2) URL은 http만 안정지원

[지원환경]
1) 한글 Microsoft Windows 2000/XP/Vista 32bit (9x용은 테스트해 주실 분 계시면 파일 올려드림)
2) x64는 테스트 환경이 구비되는대로 올릴 예정

[버전]
ver.0.9

URLDownload

한글화 및 기능 수정/추가
         

PJ Naughter

클래스 추가

 

728x90
반응형
728x90
반응형
http://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95

학교 졸업후 이걸 쓰는 분이 많지 않은 지라 대부분의 직딩들은 기억이 나지 않을 것이다.
간단히 이야기 하자면, 두 자연수의 최대공약수(gcd) 를 구하는 알고리즘이다.
최대공약수까지 모르신다면...흠...고통스럽다...
어쨌거나...
알고리즘의 핵심은 두 자연수중 큰 수에서 작은 수를 나누어 "나머지"를 구하는 데 있다. 몫은 중요하지 않다.
mod  또는 % 연산 등이라고 할까나...'
그리고 이전 연산의 값중 작은 값을 얻어진 나머지로 다시 나누어 나머지를 구한다.
그리고... 이런 연산의 무한 반복이다...
단, 무한 반복은 항상 조건식이 있다!!
조건은 나머지가 0 (=zero) 이면 종료된다는 것....

def gcd(m,n):
   while n != 0:   
      t = m%n
      m = n
      n = t        
   return abs(m)

예를 들어 두 자연수 1071 과  1029 의  gcd 를 구해보자.
 
1단계) 1071 % 1029 = 42 (% 는 나머지 구하는 연산)
2단계) 1029  % 42 = 21
3단계) 42 % 21 = 0 (드디어 나머지가 0이다!!)

그러면, 이때  gcd 는 21 이다.
  

728x90
반응형
728x90
반응형
HM NIS Edit 는 위자드 기능을 사용하면 매우 쉽게 생성이 된다.

012345678

 
일단 위자드만으로도 기본적인 설치는 만들 수 있다.
하지만, 커스텀한 처리를 위해서는 결국  NSIS 의 스크립트를 약간 알아야 한다.
다음부터는 스크립트에 대한 것을 언급해 본다.
 


728x90
반응형

'Installation' 카테고리의 다른 글

NSIS 시작하기 - (1)  (0) 2008.11.26
728x90
반응형


규모가 작은 프로젝트나 한국형 다단계 인력 프로젝트는 대부분 개발 인력이 설치까지 책임을 진다.
(물론, 가난한 프로젝트는 QA 작업까지 함께 하기도 한다.)
그리고, 필자도 NSIS 는 초보다. 주로 인스톨쉴드 등의 손쉬운 접근 방법만을 사용해 왔으므로...
흠...일단,
NSIS 를 다운 받는다.
(http://nsis.sourceforge.net/)
설치 프로그램 제작기라서 그런지 설치는 매우 쉽다.
문제는 그 다음부터인데, 일단은 NSIS 스크립트를 공부해야 한다는 압박(?)이 문제일 것이다.
그리고, 거기에 공수까지 부복해서 헉헉된다면 인생이 더 불쌍해진다...-_-;
흠...좋고...그러면 다음에는
HM NIS EDIT 를 다운받아 설치한다. 
(http://hmne.sourceforge.net/
요건 NSIS 를 손쉽게 만들어 주는 툴이다. (반드시 NSIS 를 먼저 설치해야 한다.)
그리고 설치 중 먼가 문제 있다고 메시지 박스가 나오면 '무시(Ignore)' 처리를 해주자..
주로 외국어 패키지 관련 문제이다.

위와 같은 창이 뜨면, 일단 작업 준비 일단락이다...







 

728x90
반응형

'Installation' 카테고리의 다른 글

NSIS 시작하기 - (2)  (0) 2008.11.28
728x90
반응형

 보통 아무 생각없이 사용하는 MFC 클래스로 입출력 처리를 담당하는 CArchive와 문자열을 관리하는 CString 클래스가 있습니다. 

 그런데 CArchive를 이용하여 CString 문자열을 내보내면 어떤 결과가 발생하는지 아십니까? 
 다음과 같은 예제를 Visual C++ 에서 실행해 보십시오.



 예제는 파일을 생성 후 "hello" 문자열을 저장하는 단순한 구조입니다.
 그러면 예제에서 파일은 실제 어떻게 저장될까요? 
 다음과 같이 저장된다고 예상하는 이들이 많을 것입니다.

1 2 3 4 5

h e l l o  

파일 크기: 5바이트


하지만, 의외로 결과는 6 바이트이고, 첫바이트에 글자 길이가 적히며 후에 hello가 저장됩니다.
왜냐고요?
이는  CArchive의 연산자(operator)인 << 의 소스 코드를 보면 알 수 있습니다.


내용을 보면 AfxWriteStringLength() 라는 함수가 사용됩니다.
이 코드의 소스를 자세히 봅니다.



이제는 이해가 될지도 모르겠습니다.
3열의 유니코드(Unicode) 처리를 봅시다. 
(현재 대부분의 Windows 개발 환경은 64비트(x64)와 유니코드이므로, 일단 MBCS(Multi Byte Character Set)일 경우는 넘어 가겠습니다.)

 10열을 보면 문자열의 길이가 255보다 작으면 문자열 길이를 적어 주는 기능이 있습니다.
 그리고 문자열의 길이에 따라서 문자열 길이를 적어 주는 방식이 약간씩 다른 것도 알 수 있습니다.
 길이가 65535보다 크면, 0xff(=255)를 적고 길이를 적습니다.
 그리고 유니코드가 적용되면 ff ff fe 를 먼저 적고, 처리를 시작합니다.
 
 물론 파일을 읽는 함수인 AfxReadStringLength() 는 이 처리의 역과정을 거치고, CArchive의 loading 연산자에서 사용됨도 확인 가능합니다.

 아주 단순한 내용이지만, 이제는 왜 CArchive/CString을 이용시에 null-terminated 방식으로 파일이 저장되지 않는지를 알 수 있을 것입니다.

 MFC와 마찬가지로 Delphi/C++ Builder의 VCL, C++를 사용하는 Qt,Boost,Ace 등을 이용하실 경우에도 내부 소스(Internal Source)를 보아야 정확한 기능이 이해되는 경우가 많습니다. MFC는 과거에 출간되었던 MFC Internals 라는 책자를 보시면 유용합니다. 책을 보시면 Microsoft 개발팀의 놀라운 능력과 치부(?)를 동시에 보실 수 있습니다. 



728x90
반응형

'C C++' 카테고리의 다른 글

C/C++ 역사  (0) 2009.01.03
visual studio 2005/2008 의 미묘한 버전 차이  (0) 2008.12.05
[WIN32] 프로그램(프로세스) 한 번에 죽이는 예제  (0) 2008.04.25
Shift Operaotr  (0) 2008.03.28
C++ 구조체 멤버의 오프셋 얻기  (0) 2007.10.12
728x90
반응형
728x90
반응형
728x90
반응형

파이썬 임베딩 처리 예제
출처 : Python official document

호출하려는 파이썬 코드

$ call multiply multiply 3 2
Will compute 3 times 2
Result of call: 6
728x90
반응형
728x90
반응형
728x90
반응형

'C C++' 카테고리의 다른 글

visual studio 2005/2008 의 미묘한 버전 차이  (0) 2008.12.05
[MFC] CArchive 와 CString  (0) 2008.11.07
Shift Operaotr  (0) 2008.03.28
C++ 구조체 멤버의 오프셋 얻기  (0) 2007.10.12
VC 2005 REDIST  (0) 2007.10.11
728x90
반응형

Eric Tetz <erictetz@gmail.com> wrote:
(25/08/2004 00:43)

>
>The Doctor wrote:
>> The ideal would be as easy as:
>> MakeLua.exe  Infile.lua  Outfile.exe
>
>I wrote it, just to try it out.
>
>
http://tetzfamily.com/eric/code/lua2exe.exe
>
>Usage: lua2exe myscript.lua
>
>This outputs 'a.exe', which has your script bound to
>Lua 5.0.2 built with MSVC 6.0 with all the
>optimizations turned on. I did this in-between
>meetings, so it's very quick and dirty, but it works on my machine.
>
>It would be really easy to add a console control
>library (I have one written for Lua in Windows
>already), or better yet, to implement loadlib
>support. But I'm on the way to another meeting...
>so... tomorrow. ;)
>
>Cheers,
>Eric

728x90
반응형

'Lua' 카테고리의 다른 글

Jit compiler 테스트 중…  (0) 2011.07.02
luajit 테스트 - (2)  (0) 2011.06.26
luajit 테스트 - (1)  (0) 2011.06.26
[luajit] LUA + JIT  (0) 2010.12.08
728x90
반응형

C의 이동 연산자는 매우 단순합니다.

(반환값) =  (처리하려는값) << (비트크기) ; // 또는, >> 연산자

연산자의 반향은 왼쪽 끝이 MSB 이고, 오른쪽 끝이 LSB 라는 정의를
따라서 보면, 쉽게 이해가 가능할 겁니다. (MSB/LSB를 모르시는 분들은 구글링을 하세요)

(MSB) ---- (LSB)

아래는 사용 예제입니다.
예제 : 출처(MSDN)



728x90
반응형

'C C++' 카테고리의 다른 글

[MFC] CArchive 와 CString  (0) 2008.11.07
[WIN32] 프로그램(프로세스) 한 번에 죽이는 예제  (0) 2008.04.25
C++ 구조체 멤버의 오프셋 얻기  (0) 2007.10.12
VC 2005 REDIST  (0) 2007.10.11
로케일 문자열 길이  (0) 2007.09.08

+ Recent posts