프로그래밍 QnA

geneven의 이미지

C에서 변수에 한글을 넣으려면 어떻게 해야 하나요?

char a;
하고 a= "가";
이렇게 넣으면 "가"가 출력이 안되거든요?

C에서 한글을 쓰려면 어떻게 해야 하나요?

ljh0431의 이미지

Linux에서 파일 최대 사이즈 ?

RedHat Linux 에서 ext3파일 시스템을 사용할 경우 4k Block처리로
잡으면 파일 최대 사이즈가 2**64 -1크기로 나옵니다.
그런데 이것은 FAT에 의한 실제적인 값이고 Linux 커널에서는
어떻게 이루어지나요 ? 파일 생성해서 포인터를 작업할 경우
파일 포인터의 길이가 32bit 또는 64비트중 어떻게 되어 있는가요 ?
ext3파일 시스템을 사용해도 파일 최대 사이즈가 4G로 나온다고
하는데 이것은 아닌 것 같습니다. 어떤 분은 DataBase로
파일크기가 10G이상을 사용하

izlley의 이미지

하노이 탑 기둥이4개;

하노이 탑 을 만들시 질문입니다..(기둥이 3개가 아니라 4개임)
다시말해, 1번기둥에 있는 원판들을 2,3번기둥을 거쳐서 4번으로 옮기는것 입니다. (꼭 2,3번기둥을 거칠 필요는 없습니다)

제가 짜긴짰는데 너무 불필요한 이동이 많이 생겨서 여러분께 질문드리는 것입니다. 좀더 효율적으로 이동할려면 어떻게 해야 하나요? --a

요기서 move함수는 계속 리커젼을 돌면서 원판을 이동시킵니다.

Quote:

void move(int n, int a, int b, int c, int d, int* count)
{ /* n은 원판의 개수, a는 현재축, b는 옮길 목표, c와 d는 경유 축 */
rokmn3309의 이미지

64bit형 변수사용시..

limits.h파일에 보면은
unsigned long long int형의 max값을 보면 184...ULL (20자리) 값이 정의되어 있는데
실제로 변수를 선언하고 값을 입력해봐도.. 10자리에서 짤려버리는데..
컴파일시에 옵션이 있나요???

<code>
int64_t k;
unsigned long long int k2;

k=120120034123776;
k2=120120034123776;

printf("%d\n",k);
printf("%d\n",2);

출력
k -1611210752
k2 -1611210752

</code>

gcc버전은 다음과 같습니다.
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs

geneven의 이미지

gcc에서 세그먼트 폴트가 나는이유

#include <stdio.h>

main(int argc, char *argv[])
{
printf("%s", *argv[1]);
}

요렇게 했는데 gcc로 컴파일하고 컴파일 한 명령뒤에 33, afe 등등을 붙이면
세그먼트폴트 에러가 나거든요? 그냥 명령어만 치면 정상적으로 되고요.

frommars의 이미지

Windows&lt;-&gt;Linux socket 통신할 때...

Windows asyncsocket을 만들고
linux에서 소켓을 만들어서 통신하는데

Windows쪽에서 연속적으로 send할 경우
packet drop이 발생하는군요.

getsockopt로 수신버퍼크기를 체크해봤는데
패킷사이즈에 비해 버퍼크기가 충분히 큰데도 패킷이 드랍이
발생합니다.

이에 대한 해결책이 있을까요?

속도가 중요해서 연속적인 send사이에 어떤 메세지 교환은
어려울 것 같습니다.

감사합니다.

datamind의 이미지

sched_setscheduler 에러가 납니다.

sched_setscheduler 를 사용했는데,
errno 가 22 번이 발생합니다.
어케 해야하는지 고수님들의 의견바랍니다.

attochip의 이미지

[질문]mmap를 사용할때 에러가 나요..ㅡ.ㅡ

안녕하세요?
c초보자인데요..UNIX로 짰습니다..
메모리 맵을 이용해서 파일 카피 프로그램을 짜볼려는데
실행하면 계속 버스 오류(Bus error) (메모리가 덤프됨)
이라는 오류가 나옵니다.
프로그램은요...

[code:1]#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>

int main(int argc, char *argv[])
{
void fatal(char *);
int source, object;
int count;
char *smap, *omap;

if(argc < 2)
{
puts("사용법 : mmap source object");

babonara의 이미지

[재수정]recv()함수로 동적 메모리로 지정할때...

char *Msg;

if( (Msg=(char *)malloc(sizeof(char))) == NULL)

len=recv(fd,(char *)Msg,Msg_Size,0)

메세지를 가져올때 여러번 나누어서 받아 올경우가 생깁니다.

예를 들면 512 바이트를 가져와야 하는데

312개의 메세지가 도착 했는데 나머지 200개를 더 가져와야 하는데
312개 많큼 동적으로 이동해서 나머지를 가져와야 하는데
동적값을 증가 시키는 방법이 너무 애매합니다.

AirJenie의 이미지

링크에러 좀 봐주세요~

안녕하세요?
이제 막 유닉스를 배우기 시작한 초보입니다.
제가 4개의 cpp 파일을 컴파일해서 각각의 오브젝트 파일을 생성했습니다.

Compile command:
xlC_r -o DOMPrint -I../xml4c/include DOMPrint.o DOMPrintFilter.o DOMTreeErrorReporter.o DOMPrintErrorHandler.o

Error list:
ld: 0711-224 경고: 중복된 기호: .ostream::operator<<(ostream&(*)(ostream&))
ld: 0711-224 경고: 중복된 기호: .StrX::StrX(const unsigned short* const)
ld: 0711-224 경고: 중복된 기호: .operator<<(ostream&,const StrX&)
ld: 0711-224 경고: 중복된 기호: .StrX::~StrX()

페이지

프로그래밍 QnA 구독하기