link: http://www.ezslookingaround.com/blog/tech/?no=1240
내부클래스 타입
(1) Static Class
(2) Member Class
(3) Local Class
(4) Anonymous Class
필요할 때마다 한번씩 참조해야 할 듯.
코딩하며 사용하지 않으면 확실히 이해하지 못할 거 같다.
2011년 3월 27일 일요일
C++ Static function
link: http://www.exforsys.com/tutorials/c-plus-plus/c-plus-plus-static-functions.html
Java에서와 같이 Object 생성 없이 Class name만으로 접근가능하다.
다만 Java에서는 다른 메소드 접근과 같이 아래와 같이 접근하는데에 반해,
(Java) className.methodName();
C++에서는 .(dot)이 아니라 ::(scope resolution operator)로 접근한다.
(C++) className::functionName();
(static 의 기본적인 의미는 프로그램 실행시 메모리에 로드될 때,
딱 한번만 초기화되어 스택처럼 생성과 소멸을 반복하지 않는다는 것이다.)
Java에서와 같이 Object 생성 없이 Class name만으로 접근가능하다.
다만 Java에서는 다른 메소드 접근과 같이 아래와 같이 접근하는데에 반해,
(Java) className.methodName();
C++에서는 .(dot)이 아니라 ::(scope resolution operator)로 접근한다.
(C++) className::functionName();
(static 의 기본적인 의미는 프로그램 실행시 메모리에 로드될 때,
딱 한번만 초기화되어 스택처럼 생성과 소멸을 반복하지 않는다는 것이다.)
2011년 3월 26일 토요일
Using Wireshark on Mac OS X
link: http://bar4mi.tistory.com/41
wireshark에서 packet를 잡아주려면
뭔가 권한 설정이 필요한가 보다.
readme manual에 안 나와있길래 찾아보니 금방 나오네.
$ sudo -i
# ls -dl /dev/bpf*
crw------- 1 root wheel 23, 0 3 26 22:16 /dev/bpf0
crw------- 1 root wheel 23, 1 3 26 22:16 /dev/bpf1
crw------- 1 root wheel 23, 2 3 27 2011 /dev/bpf2
crw------- 1 root wheel 23, 3 3 27 2011 /dev/bpf3
# chgrp admin /dev/bpf*
crw------- 1 root admin 23, 0 3 26 22:16 /dev/bpf0
crw------- 1 root admin 23, 1 3 26 22:16 /dev/bpf1
crw------- 1 root admin 23, 2 3 27 2011 /dev/bpf2
crw------- 1 root admin 23, 3 3 27 2011 /dev/bpf3
# chmod g+rw /dev/bpf*
crw-rw---- 1 root admin 23, 0 3 26 22:16 /dev/bpf0
crw-rw---- 1 root admin 23, 1 3 26 22:16 /dev/bpf1
crw-rw---- 1 root admin 23, 2 3 27 2011 /dev/bpf2
crw-rw---- 1 root admin 23, 3 3 27 2011 /dev/bpf3
wireshark에서 packet를 잡아주려면
뭔가 권한 설정이 필요한가 보다.
readme manual에 안 나와있길래 찾아보니 금방 나오네.
$ sudo -i
# ls -dl /dev/bpf*
crw------- 1 root wheel 23, 0 3 26 22:16 /dev/bpf0
crw------- 1 root wheel 23, 1 3 26 22:16 /dev/bpf1
crw------- 1 root wheel 23, 2 3 27 2011 /dev/bpf2
crw------- 1 root wheel 23, 3 3 27 2011 /dev/bpf3
# chgrp admin /dev/bpf*
crw------- 1 root admin 23, 0 3 26 22:16 /dev/bpf0
crw------- 1 root admin 23, 1 3 26 22:16 /dev/bpf1
crw------- 1 root admin 23, 2 3 27 2011 /dev/bpf2
crw------- 1 root admin 23, 3 3 27 2011 /dev/bpf3
# chmod g+rw /dev/bpf*
crw-rw---- 1 root admin 23, 0 3 26 22:16 /dev/bpf0
crw-rw---- 1 root admin 23, 1 3 26 22:16 /dev/bpf1
crw-rw---- 1 root admin 23, 2 3 27 2011 /dev/bpf2
crw-rw---- 1 root admin 23, 3 3 27 2011 /dev/bpf3
2011년 3월 25일 금요일
바쁘다 바뻐...
6전공의 압박이란 게 새삼 느껴진다.
그래도 덜 놀게 되고, 더 재미를 느끼고 있으니
그것만으로도 참 신기하다.
복학 후 수업을 들으며 EKU 과제물 제출란에 숙제를 하나하나 쌓아가면서
[미제출]란이 [제출]란으로 바뀌는 모습이 얼마나 보람되었던지.
내가 이렇게 열심히 공부하고 있다니.. 하면서
그런 내 모습이 어색하기만 했던 그때가 벌써 1년이나 지났다.
취업도 살짝 걱정되고,
아직 전공도 할줄 아는게 많이 없고,
농구도 더 잘하고 싶지만
현재의 내 모습에 만족하고 감사할 줄도 알아야겠지.
그냥...
매번 전공 내용만 적다가 내 삶의 분위기를 좀 남겨보고자
이렇게 머리 속에 있는 생각을 꺼내본다.
2011년 3월 24일 목요일
Embeding Perl in C program (Win32, Visual C++)
link: http://www.codeguru.com/Cpp/misc/misc/interfacingtootherlanguages/article.php/c3811
필요한 파일(3)
1. interp.c
2. perlxsi.c
3. perl.lib (perl5.12의 경우, perl512.lib)
1. project에 interp.c라는 파일 생성 후 다음을 입력해주고 저장
----------------------------------------------------------------------------
#include <EXTERN.h>
#include <perl.h>
static PerlInterpreter *my_perl;
int main(int argc, char **argv, char **env)
{
PERL_SYS_INIT3(&argc, &argv, &env);
my_perl = perl_alloc();
perl_construct(my_perl);
perl_parse(my_perl, NULL, argc, argv, NULL);
PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
//Running Perl Actually
perl_run(my_perl);
perl_destruct(my_perl);
perl_free(my_perl);
PERL_SYS_TERM();
}
----------------------------------------------------------------------------
2. perlxsi.c 파일은,
윈도우 cmd창에서 다음을 입력해주고
현재 폴더에 생성되면 프로젝트 폴더에 추가
> perl -MExtUtils::Embed -e xsinit
(을 입력하면 현재 위치에 perlxsi.c 파일을 생성해준다.)
3. perl(win32)을 설치하면 보통 다음 디렉토리에 perl.lib이 위치함
라이브러리 디렉토리를 추가해주고 추가종속성에도 입력한다.
(속성변경 하는 김에 헤더파일의 디렉토리도 추가해준다.)
> C:\Perl\lib\CORE\
필요한 파일(3)
1. interp.c
2. perlxsi.c
3. perl.lib (perl5.12의 경우, perl512.lib)
1. project에 interp.c라는 파일 생성 후 다음을 입력해주고 저장
----------------------------------------------------------------------------
#include <EXTERN.h>
#include <perl.h>
static PerlInterpreter *my_perl;
int main(int argc, char **argv, char **env)
{
PERL_SYS_INIT3(&argc, &argv, &env);
my_perl = perl_alloc();
perl_construct(my_perl);
perl_parse(my_perl, NULL, argc, argv, NULL);
PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
//Running Perl Actually
perl_run(my_perl);
perl_destruct(my_perl);
perl_free(my_perl);
PERL_SYS_TERM();
}
----------------------------------------------------------------------------
2. perlxsi.c 파일은,
윈도우 cmd창에서 다음을 입력해주고
현재 폴더에 생성되면 프로젝트 폴더에 추가
> perl -MExtUtils::Embed -e xsinit
(을 입력하면 현재 위치에 perlxsi.c 파일을 생성해준다.)
3. perl(win32)을 설치하면 보통 다음 디렉토리에 perl.lib이 위치함
라이브러리 디렉토리를 추가해주고 추가종속성에도 입력한다.
(속성변경 하는 김에 헤더파일의 디렉토리도 추가해준다.)
> C:\Perl\lib\CORE\
컴파일 시 표준 include directory 지정하는 방법
link: http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch12_module
source code에서
#include " " <= 이건 소스 코드가 있는 폴더에서 찾는 것이라는 건 알았는데
#include < > <= 이건 잘 몰랐다.
Standard Include Directory 라고 불리는 곳에서
헤더파일을 찾는 것이라는 걸 이제야 알았네..
그리고 또 한가지, 터미널에서 컴파일 시에 옵션을 주어
Include Directory를 지정해줄 수 있는데 다음과 같다.
$cc -L(지정하고싶은 디렉토리)
(예시)
$cc -L/usr/local/lib -o interp interp.c //붙여쓰는 것에 조심!
source code에서
#include " " <= 이건 소스 코드가 있는 폴더에서 찾는 것이라는 건 알았는데
#include < > <= 이건 잘 몰랐다.
Standard Include Directory 라고 불리는 곳에서
헤더파일을 찾는 것이라는 걸 이제야 알았네..
그리고 또 한가지, 터미널에서 컴파일 시에 옵션을 주어
Include Directory를 지정해줄 수 있는데 다음과 같다.
$cc -L(지정하고싶은 디렉토리)
(예시)
$cc -L/usr/local/lib -o interp interp.c //붙여쓰는 것에 조심!
perl.h 와 EXTERN.h 는 어디있는가?
(in Mac OS X)
/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE/perl.h
/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE/EXTERN.h
펄 코드 임베딩 한번 하기 엄청 힘드네...
언제쯤 테스트 한번 해볼 수 있을까?
------------------------------------------------
앗.. -_-
이렇게 찾는 방법이 있었군...
Execute this statement for a hint about where to find CORE:
/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE/perl.h
/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE/EXTERN.h
펄 코드 임베딩 한번 하기 엄청 힘드네...
언제쯤 테스트 한번 해볼 수 있을까?
------------------------------------------------
앗.. -_-
이렇게 찾는 방법이 있었군...
Execute this statement for a hint about where to find CORE:
$perl -MConfig -e 'print $Config{archlib}'
피드 구독하기:
글 (Atom)