typedef struct _list { char link[LINK_LEN]; struct _list *next; } list_t; int list_free(list_t *plist) { //list_t 동적할당 해제 if(plist == NULL) { printf("list_free()에서 plist는 NULL!\n"); return -1;; } while(plist != NULL) { //리스트의 next를 참조하며 동적할당 해제 free(plist); plist = plist->next; } return 0; }
안녕하세요~ 완벽한 코드는 아니고 단일 연결리스트 공부중에 잘 이해가 안되는 부분이 있어서 질문드립니다.
list_free()에서 plist는 malloc으로 동적할당 받은 메모리의 위치를 가리키고 있습니다.
A 클래스에서 상속받은 , A-1, A-2, A-3 의 세개의 서브클래스가 있을때,
b = A( param )
라고 호출하면 param 에 따라서 A-1, A-2, A-3이 생성되어서 리턴하게 하려면 어떻게 하는것이 정석인가요??
b = createA( param ) 처럼 별도의 함수를 만드는것이 정석인가요?
커널 컴파일때 menuconfig 체크하고 하는데.
계속 에러나네요.
혹시 다른 방법으로 드라이버 잡을 방법이 있을가요?
에러지점은
drivers/net/wireless/b43legacy/b43legacy.o bad reloc symbol index ~~~~ drivers/net/wireless/b43legacy/b43legacy.ko could not read symbol : Bad value
make중에 이부분에서 걸리는데 해결법좀..
현재 커널 3.2.0-3.686.pae Debian Wheezy
해결법 아시면 링크좀..해주세요 ㅠ
man 페이지에서 확인되는 바로는 open함수가 non-safe라고 나오고 있는데...
하나의 전역 FD를 공유하는게 아니고...
파일에 접근할때마다 open(), read(), write() close()를 하고 있는데...
크게 문제가 발생되는 부분은 딱히 없어서요...
하지만 스레드 스위칭이 I/O 연산이 일어날때 발생될 수도 있을 것 같은데...
non-safe가 맞는거죠?
자세히 설명해주세요..ㅠ,ㅠ
감사합니다.
sk_buff의 데이터를 읽어서 ACCESS_CATEGORY별로 나눠 패킷을 카운팅 하려고 합니다.
그런데..sk_buff의 읽어야할 부분이 뭔지도 감을 제대로 잡지 못하고 있네요;;ㅠㅠ
data에서 읽어서 분석을 하면 가능할지....
간단한 답변이라도 감사하게 듣겠습니다!!
안녕하세요. 첨으로 글 올려 봅니다.
윈도에서 gvim + cscope 잘 쓰고 있는데요.
제 컴에서는 처음 DB 생성시 -q옵션을 주고 생성하면 안 됩니다. (안 쓰면 잘 되고요)
vim 에디터 하단에 "no matches found for cscope query .... " 요런 에러가 뜨고 안 됩니다.
제 생각엔 -q 옵션 생성 시 필요한 env나 sort (둘 다 구해서 돌아가게는 해놨습니다..)가 뭔가 문제가 있는거 같은데..
딱히 방법이 없을까요? -q 옵션 없이는 너무 느려서요..ㅠㅠ
drwxr-x--- 7 root named 4096 2012-08-08 14:10 dns drwxr-xr-x 1 root root 0 2012-11-07 04:03 erp_db drwxr-xr-x 1 root root 0 2012-11-07 04:28 kms_db drwxr-xr-x 4 root root 4096 2012-10-12 16:48 license drwxr-xr-x 5 root root 4096 2012-11-05 09:03 mail drwxr-xr-x 6 nobody nobody 4096 2012-10-12 16:40 mantis+testlink -rwxr-xr-x 1 root root 57 2012-10-16 17:49 rm_erp_db -rwxr-xr-x 1 root root 57 2012-10-18 14:00 rm_kms_db
c언어를 공부하고 있는 초보자인데요 drive_check=access("C:\clean.vhd",0); if(drive_check==0) drive='C'; drive_check=access("D:\clean.vhd",0); if(drive_check==0) drive='D';
drive_check=access("E:\clean.vhd",0); if(drive_check==0) drive='E';