프로그래밍 QnA

gokore의 이미지

이거 잘 이해가 가질 않는데요ㅠㅠ

/* The nonull function attribute allows to mark pointer parameters which
must not be NULL. */
#if __GNUC_PREREQ (3,3)
# define __nonnull(params) __attribute__ ((__nonnull__ params))
#else
# define __nonnull(params)
#endif

여기서 define __nonull(params) 뒤에 __attribute__((__nonull__params))를 대체 어떻게 해석을 해야할 까요?

__nonull이 __attribute__((__nonull__params))로 디파인 된것인가요?

익명 사용자의 이미지

커널내에서 skb를 queue로 저장하는 방법

커널내 IP Layer에서 NF_HOOK을 하여서

제가 작성한 모듈에다가 sk_buff를 저장하려고 합니다

커널에서 제공하는 skb_queue_tail함수를 사용해서 enqueue를 하고

특정 알고리즘을 돌려서 만족할 경우 skb_dequeue 함수를 이용해서 dequeue 하도록 모듈을 작성하였는데

모듈을 올리는 순간 컴퓨터가 다운이 되어버립니다.

아래는 간략히 쓴 main_hook함수 내의 코드입니다

giftbox1012의 이미지

C언어로 IC를 동작시키려고 하는데...왕초보 도움주세요

회사 입사 3주 정도 되었구요..
학부 때 C언어 배운게 고작입니다...

졸작도 제대로못해서.. ㅡㅡ..

코드를 보고 수정도하고 작성도 하고 해야하는데 데이터시트를 봐도 책들을 봐도 도대체
이게 어떻게 동작하는지도 모르겠고 타이머는 뭐고 클락은 무거ㅗ 인터넓트는 ㅡㅡ..

머리 터질것 같습니다.

뭐 부터 시작해야 좀 체계적으로 프로그래밍을 할 수 있을가요..도움좀 주세요.ㅜㅜ
첫걸음좀 댈수있게 ㅠ

laverrice의 이미지

bash 스크립트 라인단위로 읽기에 궁금한점인데요

#!/bin/bash

exec < $test

while read line
do
echo $line #여기서 $line은 무엇을 의미하나요?
done

이렇게 하면 되는건가요?
그리고 가장 중요한건
for test in `test.txt`
do
echo $test
done
이런식으로하면 test.txt가 $test에 자동 저장되잖아요
그런데 while문에서는 어떻게 변수에 넣나요?

fedious의 이미지

프로세스 제어를 할 수가 있나요??

부모프로세스로부터 생성된 A, B 두개의 프로세스가 소켓방식(UDS)으로 데이터를 주고 받는데요.
중간에 사용자가 명령(전송 버튼을 클릭하는 등의 행위)을 주어야지만 데이터를 전달하도록 만드려고 합니다.

부모로부터 생성된 A프로세스는 funcA()함수에서 서버역할을 설정합니다. B프로세스는 funcB()에서 클라이언트 역할을 설정합니다.(소켓방식 지정하고, UDP방식이므로 클라이언트가 서버한테 메세지보내서 서버가 클라이언트 주소 인식하고 등의 설정)

그후 서버 프로세스가 사용자의 입력을 받으면 sendto()함수를 사용해서 클라이언트에게 메세지를 전송하려고 하는데요.
제 짧은 지식으로는 A프로세스를 대기 상태로 전환시키고, 필요할 때 다시 작동시키고 하는 그런 시스템콜 같은 건 없는 것 같은데요
그래서 생각한게 A프로세스를 while문 안에 가두어 두고 계속 어떤 변수를 체크하는 if문을 넣는 것입니다. 그래서 변수가 조건에 맞으면 sendto()함수를 호출하는 것이죠.
그러니까..

mayaabba의 이미지

Ant 관련 질문입니다.

./ ____________unified.xml
+++++++++|
+++++++++|___test
+++++++++++++|_____build.xml
+++++++++++++|_____create.sh
+++++++++++++|_____src
+++++++++++++|+++++|_____Test.java
+++++++++++++|_____bin

위와 같은 형태로 build.xml 을 넣고 unified.xml 은

<?xml version="1.0"?> project name="MyProject" default="all" basedir="." target name="all" ant dir="test" target="test"/ /target /project

위와 같이 작성하였습니다.

karzia의 이미지

소멸자에서 virtual 함수동작이 다르기 때문에 종료 함수를 따로 빼줘야 할까요?


class Object
{
public:
Object();
virtual ~Object();
void Close(){OnClose();};
protected:
virtual void OnClose(){};
};

class Item: public Object
{
public:
Item();
virtual ~Item()
{
Close();
}

virtual void OnClose()
{
SendMessageToServer("Close");
}

};

void main()
{
Item * pItem = new Item();

delete pItem;

}

wmjj의 이미지

블루투스 장치 검색 실패

윈도우XP에서 블루투스 장치 검색을 위해 아래와 같은 코드를 MFC로 작성해서 실행해 봤는데요

HANDLE hLookup;
WSAQUERYSET queryset;

BTHNS_INQUIRYBLOB inqblob;
inqblob.LAP = 0;
inqblob.length = 4;

BLOB blob;
blob.cbSize = sizeof( BTHNS_INQUIRYBLOB );//BTH_QUERY_DEVICE
blob.pBlobData = (PBYTE)&inqblob;

ZeroMemory( &queryset, sizeof(WSAQUERYSET) );
queryset.dwSize = sizeof( WSAQUERYSET );
queryset.dwNameSpace = NS_BTH;
queryset.lpBlob = &blob;

declspec의 이미지

ipconfig 터널링 어뎁터

윈도우에서 ipconfig 치면
ipv6 터널링 어댑터들이 막 나오던데
이것들이 너무 많이 생겼더라구요

왜 어디서 어쩌다가 생긴걸까요?
지워도 아무 상관 없겟죠?

trymp의 이미지

리눅스에서 socket 에 대한 특정 포트가 다른 곳에서 할당되지 않게 하는법??

제가 만든 'A' 라는 damon 은 로컬에서 udp 5000번 입니다. 하지만 이 데몬이 뜨기전에

다른 데몬에서 ramdon 하게 이 포트 5000번을 먼저 커널로 부터 받아서 쓴다면

A-daemon 은 port conflict 이 나서 bind 실패해서 정상동작을 못할 것입니다.

포트를 지정하지 않고 random 하게 할당받는 데몬들과 같이 쓰는 경우 문제가 발생하는데요.

kernel 에서 빈 포트를 임으로 할당해주잖아요. 1024번 이상부터...

그 때 5000 ~ 6000 까지는 커널이 할당하지 않도록 하는 방법이 있나요?

일종의 예약개념으로 5000~ 6000 까지는 다른 데몬들한테 할당하지 않고 제가 만든 데몬이

나중에 뜰 때 사용하고 싶어서 그럽니다.

이것을 가능하게 할 마땅한 방법 좀 알려주세요.

페이지

프로그래밍 QnA 구독하기