프로그래밍 QnA

kkojiband의 이미지

pci 설정 싸이클...?

pci 초기화 코드에서,

cpu 가 먼저 1번 설정 싸이클을 pci-pci 브릿지로 넘기고, 찾고 있는 버스에 도착하면 이걸 0번 설정 싸이클로 바꿔서 그 버스에 놓여있는 올바른 장치를 찾는다고 하는데,

예를 들어, 내가 어떤 3번 버스위의 1번 장치의 설정 주소 공간의 offset 16의 위치에 FFh 라는 1byte 짜리 값을 쓴다고 한다면,

설정 싸이클과 offset 이나 데이타 크기, 데이타 내용 등을 같이 한꺼번에 보내줘야되는거 아닌가요?

보니까 설정 싸이클은 장치의 위치만 인식이 가능한거같던데, 다른 정보가 없다면 그 장치를 인식하더라도 무용지물 아닌가요??

gkepsgds의 이미지

함수 선언에 대해서

K&R C 형태로 함수를 선언/정의 할려구 합니다.
컴파일러는 CC를 사용하고 있습니다.

void log_save(fmt, ...)
char *fmt;
{
	va_list	argptr;
	char	msg[2000], dd[9], hms[7];	
	char	cbuf[2000];

	va_start( argptr, fmt );
		vsprintf( cbuf, fmt, argptr );
	va_end( argptr );	
                

}

문제는 이렇게 했을 경우 '...' 을 어떻게 선언해 줘야 하는지?
자꾸 저것때문에 에러가 나네요.
답변부탁드립니다.

cho's의 이미지

c에서 __THROW의 사용방법

/usr/include에 있는 헤더 파일을 보고 저도 함 그렇게 해 봤는데 도체가 어케 코드적용을 하고 어케 작동을 하는지 모르겠네요.
간단히 제가 만든 샘플을 적어보겠습니다.
[code:1]
#ifndef __STR_UTILS_H__
#define __STR_UTILS_H__

#include <features.h>

__BEGIN_DECLS
#define __need_size_t
#define __need_NULL
#include <stddef.h>

extern char * strswap( char *in, char what, char whereof) __THROW;
extern char * strlower( char * in ) __THROW;
extern char * strdelspacesbeforecommand( char * in ) __THROW;

kkojiband의 이미지

pci 와 pic 에 대한 질문...

오늘도 여전히 질문을 드립니다...^^;

어제 책을 보고 pci 에 대해 대략적인 것들은 알게 되었습니다...

근데 보니까 pci 설정 공간에 대한 제어는 pci bios(?) 를 통해서만 가능하다고 되어있더군요...

실질적으로 커널 소스를 찾아보니,

인라인 어셈으로 간단히 bios 를 호출하게 되어있더군요...(확실한지는 잘 모름니다--;)

제가 알기로는 리눅스의 경우는 bios 를 전혀 사용하지 않는다고 되어있던데 pci 같은 경우는 왜 bios 를 이용하는건가요?

그리고 pic 에 대한 질문도 하나 올릴께요...^^;

cho&#039;s의 이미지

C++에서 함수포인터 사용(구조체 안에 넣어진 함수 포인터에서 c

안녕하세요. 비가 많이 오네요.
~~
함수 포인터를 구조체에 넣고서 해당 함수를 호출하려고 합니다.
명령어를 받으면 그와 일치하는 클래스의 함수를 호출하려고 합니다.
cannot convert 'int (Cmd::*)(char*)' to 'int (*)(char*) in initialization
이라고 납니다.구조체 안에서 int (Cmd::*func)(char* in)으로도 바꿔보고 이것 저것 바꿔봐도 잘 안되네요.

C에서 이렇게 해서 빠르게 찾아서 참 잘 썼었는데 c++로도 이런식으로 빠르고
편하게 쓰고 싶은데 방법이 없을까요?

송지석의 이미지

bluetooth 어플리케이션 프로그램 자료 추천해주세요

bluetooth로 통신을 해야 하게 생겼습니다.

그런데 일단 bluetooth가 tcp/ip처럼 널리 쓰이는 방식이 아니다보니..

연결을 열기, 닫기, inquiry하기 등등 어떤 순서로 동작시켜야 하는 지 acl 링크는 패킷 단위로 들어오는 지 아님 tcp처럼 스트림의 무결성만 보장해주고 패킷은 알아서 join해야 하는 지 등등 모르는 게 많습니다.

찾아볼 만한 자료가 어디 있는 지도 잘 모르겠네요.

혹시 참고할만한 자료를 알고 계신가요?

아니면 사볼만한 책이나요.. 국내 서점에선 프로그램 관련 책이 두권정도 보이는군요.. 하나는 2001년에 나온거라 그리고 아마존에서 별로 추천을 안해서.. 나머지 하나는 자바라서.. 저는 C인데 괜찮을 지 모르겠고요..

lemonday의 이미지

warning: function returns address of local variable

다음과 같은 코드로 실행을 해보니

char *kkk(char *mm)
{
char abc[100];

strncpy(abc,mm,100);
return abc;
}

int main()
{
char *mm = "abc";

printf("%s\n",kkk(char*)mm));

return 0;
}

함수 kk에서 return abc 에 warning: function returns address of local variable
이런 warning이 뜨내요.
또한 출력문 역시 원치 않는 값이 출력됩니다.

이유를 알고 싶습니다.

hasosu의 이미지

sendmail의 dns lookup 관련

센드메일로 메일을 송신합니다.

몇칠전부터 가끔 daum.net , hanmail.net, naver.com등의 메일주소의
메일 송신속도가 너무 느려 telnet localhost 25번으로 테스트해보니.

rcpt to:aaa@daum.net 에서 몇분의 시간을 잡아 먹습니다.
항상 그런건 아니고.. 가끔...

시스템팀에 알아보니.. 53번 tcp 포트를 막았다고 합니다.
nslookup은 udp를 쓰니 잘됩니다.

혹시 위의 대형 웹메일 업체에 메일송신 느린게 53번 tcp포트막은거랑
관계가 있을가요...

crom0406의 이미지

[질문]AVR쪽 GCC옵션 중에... -mmcu에 관해서

그냥 GCC에서도 현재는 AVR에 관한 크로스컴파일이 되는 것 같아서..
man페이지를 보니깐..
옵션에
-mmcu=[u]mcu[/u]
라고 되어 있고
다른 메뉴얼에서도
gcc -mmcu=at90s2313이라고 되어 있던데..
컴파일하면
Invalid option mcu=at90s2313
이라고 나오네요..ㅠ.ㅠ;
저 옵션을 어떻게 사용해야 하는지 묻는게 첫번째 질문이고요..

두 번째 질문은
저렇게 그냥 GCC만으로도 컴파일이 가능한가는 하는겁니다..
질문 순서가 바뀐듯하지만...

taitty의 이미지

[질문]kernel mode linux에 대해서....

안녕하세여~
이번에 커널 모드 리눅스라는걸 사용해야 할 일이 생겨서여~
혹시 이거 사용해보신 분이나 공부해 보신 분 있으시면 답변좀 부탁드립니다~

인터넷 상에 떠 있는 패치파일을 다운받아 패치하고...
menuconfig해 준 다음에...
커널컴파일하고나서 재부팅하면 된다고 했는데...
되긴 되는데여...
문서에 나와있는거랑 조금 달라서여...

x윈도가 실행이 안되더라구여...
콘솔창에서 작업은 할 수 있는데 윈도가 안떠서 다른 작업을 할 수가 없네여...

페이지

프로그래밍 QnA 구독하기