반응형

전체 글 282

constructor/destructor에서 virtual method의 호출

virtual키워드를 사용해 child 객체의 메소드들을 호출할 수 있다는 것은 C++을 공부한 사람이라면 다들 알고 있는 사항이다.예를 들어, 아래의 코드에서는 child의 call method가 호출된다.### c++ class parent {public: virtual void call();};class child : public parent {public: void call();};int main(){ parent* p = new child; p->call(); // child의 call이 호출됨 } 그렇다면 child의 instance는 virtual로 선언된 메소드들에 대해서 항상 child를 호출하는가?오늘 그렇지 않다는 것을 배웠다. 아래 예제를 보자.### c++#include stati..

쉘스크립트 끄적임

디펜던시 있는 바이너리 사이즈들의 총합을 구하는 기능을 짜보려다가 포기개발 환경에서 파이썬만 지원해줘도 이런 뻘짓을 안할텐데 ㅠㅠ 일단 ldd에서 나온 결과를 파싱하려고 생각했는데 너무 어렵다. 문자열과 관련된 자료 : http://linuxian.innori.com/15문자열에서 특정 기호들을 짤라서 파싱하는 예제 : http://stackoverflow.com/questions/1617771/splitting-string-into-array

CMake build with ninja

참고 자료post comparing configure+make, cmake+make, and cmake+ninjahttp://martine.github.com/ninja/manual.html CMake 2.8.9 가 릴리즈 되었습니다. 2.8.9의 Major change 중 하나는 Ninja가 기본으로 들어갔다는 사실입니다.http://www.kitware.com/news/home/browse/CMake?2012_08_09&CMake+2.8.9+is+Now+Available%21 Ninja build는 빌드를 빠르게 하기 위한 툴입니다. 얼마나 빠른지는 post comparing configure+make, cmake+make, and cmake+ninja 를 참고하시면 됩니다. 현재 Ninja는 GYP..

개발 2012.09.25

Simple event test(mouse down/focus) using Evas

[목차로 이동] Enlightenment Foundation Language focus 테스트를 위해 [EFL] 3. Simple Application using Evas. 를 가지고 간단한 이벤트 테스트를 해보기로 했습니다 컴파일은 아래와 같이 하면 됩니다. gcc -c simple simple.c `pkg-config --cflags --libs evas ecore-evas` 결론: - evas_object에서는 focus를 수동으로 옮겨주어야 한다. (elementary는 아님) source code #include #include #include static void on_mouse_down(void* data, Evas* e, Evas_Object* o, void* event_info) { pr..

개발 2012.09.03

GCC 옵션 : version script

참고 : http://korea.gnu.org/manual/release/ld/ld-sjp/ld-ko_2.html 참고2: http://studyfoss.egloos.com/5254916 참고3: http://stackoverflow.com/questions/8129782/version-script-and-hidden-visibility gcc 옵션 중 version script라는 게 있다는 사실을 알았다. 정확히는 ld 옵션이기 때문에 gcc에서 옵션을 줄 때는 -Wl,--version-script=파일 경로 의 형태를 가져야 한다. 참고2에서는 버전 관리를 위해 사용했으나, 버전 관리 뿐 아니라 심볼 개수를 줄이는 용도로도 활용이 가능한가 보다. 예컨데,// t.c int __attribute__(..

[Elementary] 기본 코드

Elementary widget들을 위한 토대가 되는 코드입니다. - 기본 window를 하나 만들고(elm_win_add), * 거기에 title을 추가하고(elm_win_title_set) * signal을 연결하고(evas_object_smart_callback_add) * 윈도우 종료시, 자동으로 해제되도록 설정한다.(elm_win_autodel_set)- back ground widget 을 만들어(elm_bg_add), * weight를 EXPAND로 줘서 커질 수 있게 하고, * 색을 파란색으로 칠하고(elm_bg_color_set) * win이 resize될 때 리사이즈되도록 설정하고(elm_win_resize_object_add) * 보여준다.(evas_object_show)- elm_r..

개발 2012.08.04

commit.template - default commit message

참고: http://git-scm.com/docs/git-config 진행 중인 프로젝트에서 commit을 할 때 의무적으로 적어야 하는 양식이 생겨버렸습니다. OTLwebkit 프로젝트처럼 저절로 관련된 정보들을 읽어와서 템플릿에 적절히 동작할 수 있도록 해주면 좋겠지만,최소한 의무적으로 들어가는 정보들을 무식하게 타이핑하는 것은 막아야 할 것 같아 방법을 찾아보다가 commit.template를 발견했습니다. 원래는 hook으로 해결하려고 했지만, hook을 사용하는 방법을 아직 잘 모르겠네요.(더 공부가 필요할 듯)일단, 이 방법이 더 쉬운 듯 합니다. git는 커밋할 때 template을 지정할 수 있습니다.이를 config로 저장할 수도 있습니다. 1) .git/config 파일 또는 ~/.gi..

개발 2012.07.12
반응형