프로그래밍 QnA

dorado2의 이미지

return 타입과 돌려주는 변수의 타입이 달라도 되는건가요?

아래와 같은 함수가 허용되는 이유는 뭔가요?

[code:1]
struct hdr_ip {

ns_addr_t src_;
ns_addr_t dst_;
int ttl_;

/* IPv6 */
int fid_; /* flow id */
int prio_;

static int offset_;
inline static int& offset() { return offset_; }
inline static hdr_ip* access(const Packet* p) {
return (hdr_ip*) p->access(offset_);
}

/* per-field member acces functions */
ns_addr_t& src() { return (src_); }
nsaddr_t& saddr() { return (src_.addr_); }

김경태의 이미지

2giga 이상의 화일을 접근하는 시스템 함수를 알고 싶습니다.

2giga 이상의 파일의 정보를 접근하는 경우, stat 함수를 쓰니까 error가 발생
했습니다.

그래서 저는 2giga 이상의 파일정보를 얻을 수 있는 새로는 시스템 함수를 찾고
있는데 이에 대한 정보를 알고 계신 분이 계시다면 알려주시면 고맙겠습니다.

그리고...

2giga이상의 화일 접근의 경우에 기존에 read, write, open, fseek, lseek
등도 제대로 동작하지 않을 수가 있을 것 같은데 이런 경우에 쓸 수 있는 시스
템 함수는 또 뭐가 있는지 알고 싶습니다.

그럼 고수님들의 따뜻한 가르침을 기대하겠습니다.

highway7605의 이미지

메시지 큐 생성에 관해서

안녕하세요..

이곳에 첨 글을 올려봅니다.
다름이 아니라 프로세스간 메시지 큐를 사용해서 통신을 하고자 하는데요
몇가지 궁금한 사항이 있어서 메일 드립니다.

리눅스에서는 프로세스당 생성할 수 있는 메시지 큐 수가 제한되어 있는지 궁금합니다.

제가 테스트 해 볼려고 아래와 같은 코드로 테스트 할려고 하니 16개 정도
메시지 큐를 생성하고 난 이후에는 나머지에서는 모두 에러로 떨어지는데
이것이 리눅스 시스템 제한 사항 때문인지 아니면 제가 사용한 아래의 코드가 잘 못 되어서 그런 것인지 조언 부탁 드립니다.

winner2316의 이미지

gcc 버전을 낮추고 싶습니다..도와주세요

안녕하세요...
RedHat 9.0을 설치하고 gcc, gcc-c++ 3.2.2.-5버전을 제거하고 2.96.98버전을 다시 설치했는데 컴파일이 안됍니다. 개발환경이 버전3이상을 지원하지 않기 때문에 2버전으로설치하려고 하는데 RedHat9.0에 gcc 2.버전을 사용해도 문제는 없는지, 그리고 2.버전을 사용해도 상관이 없다면 아래 작업에서 무엇이 잘못되었고 어떻게 수정해야하는지 알고싶습니다.

작업순서는

#rpm -e --nodeps gcc

#rpm -e --nodeps gcc-c++ //gcc,gcc-c++ 제거

#rpm -ivh --nodeps gcc-2.96-98.i386.rpm

하하의 이미지

nonblock IO (Linux, solaris)

[code:1]
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/time.h>
#include <unistd.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <stdio.h>

static void set_block(int sock);
static void set_nonblock(int sock);

int main()
{

struct sockaddr_in cli;
int fd;
char *chr;
int *num;

int cnt=5;

crom123의 이미지

[초보질문] 프로그램 짜다가 에러 뜨는걸 텍스트 문서로..어떻게

제가 짠 코드 컴파일하고 나서요.
에러화면이 스크롤을 넘어서 젤 위에 뜨는 에러를 볼 수가 없어서 그러는데..
에러 발생한 걸 텍스트 파일에 적을 수 있게 하는 방법이 없나요?
gcc 옵션에 있을 것두 같구..
쉘 스크립트로 만들 수 있을 것두 같은데...
print 옵션을 아무리 뜯어고쳐봐도 안되네요..
파일은 생기는데..쩝...
파일로 어떻게 읽어들일 수가 있나요?
아니면 스크롤링하는 방법이라도...

antz의 이미지

지도 좌표 거리순 정렬

지도 좌표를 거리순으로 정렬하려고 합니다.

"피타고라스의 정리"에서
a^2 + b^2 = c^2 를 사용해서,

X좌표와 Y좌표 각각의 제곱에 합을 구해서 정렬하려합니다.

헌데, 지도 좌표 숫자 크기가 커서 제곱하면 long형을 벗어 나는 군요.

Quote:
19975> (lX,lY)=(572427,373915), pIdxDoubleTemp->lDist=-685264350
19976> (lX,lY)=(971032,470015), pIdxDoubleTemp->lDist=-147712707
19977> (lX,lY)=(892017,853492), pIdxDoubleTemp->lDist=-605377707
19978> (lX,lY)=(533507,1097770), pIdxDoubleTemp->lDist=-657585103
하하의 이미지

static void nonblock();

static void set_nonblock(int sock) {
:
:
}

이런 함수가 있습니다.

이때 static 이란 키워드(속성)는 무엇을 수식하는 건가요?

void 아님 set_nonblock 인가요?

함수의 return 형이 상수형이다 따라서 변경되어선 안된다??

아님 set_nonblock 함수를 가리키는 포인터는 static영역에

위치하고 그값은 변경되지 않는다...

이럴경우는 자주 사용되어지는 함수는 이와 같은 속성을 앞에

넣어준다.? ... 제 생각이 맞나요?? 여러분의 의견을 듣고 싶습니다.

너부리의 이미지

bus utilization을 구할 수 있는 방법이 있나요?

전에도 한번 올린 질문인데,

그때 어떤 고수분께서 'sar' tool을 이용하면 구할 수 있다고 하셨는데,

제가 'sar' tool을 검색해보니, 간접적인 방법으로 utilization을 구할

수 있을 거 같지만 직접적으로(수치로 나타나는 방법으로) utilization을

구할 수가 없는거 같습니다.

혹시 쉽게 PCI bus, local bus의 utilizaition을 구할수 있는 방법을

아시는 분이 있나요?

있으시다면 답변을 부탁드립니다.

PCI bus utilization도 top 명령어를 사용해서 CPU의 utilization처럼

black0328의 이미지

select 을 3번의 recv() 함수에 대해 모두 구현해주어야 합니까?

select 로 타임아웃을 걸었습니다. recv() 코드 부분이 제 프로그램에서 3군데가 있는데 select 문도 3번을 써주어야하는건가요?
select 함수가 리턴 된 후 timeval structure 가 남은 시간으로 업데이트 되지 않는 것으로 압니다.그래서 전 3번을 써줌으로서 계속 timeval 함수를 업데이트 해준것인데요...이것이 맞는 것인지 알려주세요

[code:1]while(1)
{

tv.tc_sec=10;
tv/tv_msec =0;
FD_CLR(&ead)
FD_SET(maxfd,&ead)
select(maxfd,read,0,0,tv);
~생략
if(recv())

페이지

프로그래밍 QnA 구독하기