본문 바로가기

Languages

(15)
C매크로의 오동작의 예 DSL 15장에 매크로를 설명한 게 있어 나중에 예로 들 때 이용하도록 정리해 놓는다. 옳은 예)예를 들어 두 숫자의 최댓값을 구해야 하는 경우가 많다고 해보자. 그래서 a > b ? a : b와 같은 형식을 C 언어를 사용해 중복작성해야 한다고 해보자.#define max(x, y) x > y ? x : y int a=5, b=7, c=0;c = max(a,b); 나쁜 예1 - 잘못된 확장하지만 매크로를 사용하면 미묘한 문제가 수없이 생겨서 곤경에 빠지기도 한다. 매크로에 파라미터를 사용하면 특히 그렇다. 숫자를 제곱하는 매크로를 생각해보자.#define sqr(x) x * x int a=5, b=1, c=0;c = sqr(a + b); 6의 2승인 36이 나올 것이라고 기대했지만, c의 값은 11이 ..
LLVM 컴파일러? Mac OS X 라이온에서 마운틴 라이온으로 바꾸고 나서 Xcode가 5.0을 사용할 수 있게 되었다.업데이트를 미루고 있지만 LLVM이라는 생소한 단어가 보여서 찾아보게 되었다. 공식 사이트는 http://llvm.org/ 가 있었다.Low Level Virtual Machine의 약자로 애플에서도 GCC에서 LLVM으로 4.0부터 Xcode의 주요 컴파일러로 채택하였다고 한다. LLVM컴파일러란? http://jeonghodot.blogspot.kr/2013/03/llvm-3.html글을 보면 어느정도 감을 잡을 수 있을 것 같다. 또한 자바스크립트의 성능을 최대로 하는(WebGL 같은...) 곳에서는 많이 나온다.(C++ 코드를 LLVM으로 변환하고 이것을 Emscripten으로 JavaScript..
V8 학습 이전에 크롬브라우저 코드를 받아서 보다가 흐지부지 되었다.embedded용 DSL(도메인 특화 언어) 선정을 위해 LUA, Python과 함께 선택을 되면서 다시 공부하게 되었다.윈도우에서 Visual Studio 2008로 진행을 할 예정이다. 공식 사이트에서 다운로드와 빌드하는 법은 How to Download and Build V8 (https://developers.google.com/v8/build)를 참고한다. 윈도우 빌드는 https://code.google.com/p/v8/wiki/BuildingWithGYP 를 참고한다. (GYP는 mac이나 linux 같은 경우에는 make로 대체 가능하다)한국 블로그 중에 참고할 만한 사이트는 http://funnylog.kr/354 가 있다. 일부 ..
스킴(Scheme) 대학과정중에 인공지능이라는 수업이 있었다.이 때 리스프(LISP)라는 프로그래밍 언어를 배웠다. 보통 절차적 프로그래밍이나 객체지향 프로그래밍은 익숙했지만 이 언어는 함수형 언어라는 듣도보지도 못한 패러다임이라 처음에는 많이 멘붕에 빠졌던 것으로 기억한다. 컴퓨터 프로그램의 구조와 해석(Structure and Interpretation of Computer Programs)라는 책을 읽으면서 스킴이라는 언어를 사용하게 되었다. 스킴 언어를 사용하기 위한 인터프리터를 찾아보았다.MIT/GNU Scheme이라는 것을 발견하였다.http://www.gnu.org/software/mit-scheme/ 위키백과(한글)를 보면 자세하지는 않지만 대략적인 설명을 볼 수 있다.물론 영문위키백과가 더 자세히 나와 있을..
C++ web framework like spring for Java 구글=>stackoverflow: http://stackoverflow.com/questions/6172567/c-web-framework-like-spring-for-java=> Springframework Thread: a spring like architecture for c++? http://forum.springsource.org/showthread.php?45053-a-spring-like-architecture-for-c=>>pococapsule - https://code.google.com/p/pococapsule/ An IoC and DSM framework for C/C++ applications Starred by 47 users GNU Lesser GPLautumnframework ..
Xcode 4.6 - C++ 11 지원 App Store에서 업데이트가 있나 확인하던중 Xcode 4.6에 C++ 11의 '사용자 정의 리터럴'과 '제한없는 유니온'이 지원된다는 것을 봤다. MS에서는 돈주고 비싼 IDE환경을 갖추어야 하는데도 C++에 대한 새로운 스펙 지원이 빨리 되지 않는다.오히려 C#에 대해서는 업데이트가 훨씬 빠르다. Xcode는 맥 사용자라면 무료로 사용할 수 있는데에 업데이트도 수시로 되는 점이 맘에 든다.
Mac OS X Lion (10.7): gcc는 어디에 있지? 이전에는 gcc가 xcode를 설치했더니 기본적으로 설치가 되어 있었다. 그런데 xcode 4.5를 설치하고 터미널에서 gcc 명령을 쳐보니 수행되지 않았다.찾아보니 xcode의 preference (단축키 command-,) > Download 에서 설치할 수 있었다.