프로그래밍 QnA

partout의 이미지

[질문] gdbm 플랫폼 간 호환성 문제

gdbm을 사용해서 리눅스에서 DB 파일을 구성해서 사용하고 있습니다.
이 DB 파일이 리눅스 외의 다른 플랫폼에서 호환이 되지 않네요.
간단히 말하면, 리눅스에서 구성한 DB 파일이 솔라리스나 다른 플랫폼에서는
읽히지 않습니다.

gdbm과 인터페이스가 유사하지만, 플랫폼 간의 호환성을 제공하는 다른
라이브러리가 있나요?
아니면 DB파일을 다른 시스템에서 사용할 수 있도록 손쉽게 변환하는 방법이 있는지 알고 싶습니다.

답변 부탁 드립니다.

purewell의 이미지

socket의 환경을 알고 싶을 때...

...
  int hSocket;
  hSocket=accept(hServerSocket, NULL, 0);
...

저렇게 생성된 클라이언트 소켓의 IP-Version과 Address를
핸들만 가지고 알 수 있나요?

물론 accept의 인자에 sockaddr_in/sockaddr_in6를 넣어주면 되지만,
IP-Version에 상관없이 받아오고 싶은데...

seeker의 이미지

mmap 관련 컴파일 warning 메시지가 이해가 안되네요.

[code:1]선언이 다음처럼 되어있고요...
#include <sys/mman.h>
#include <fcntl.h>

typedef struct en54070_info {
int intNum;
time_t tm;
char data[ 20000 * 10 ][ 14 ];
} en54070_info_t;

en54070_info_t *gptr; /* pointer to a shared memory object */

... ( 중략 ) ...

if ( ( gptr = mmap( NULL , sizeof ( en54070_info_t ) , PROT_READ | PROT_WRITE , MAP_SHARED , fd , 0 ) ) == MAP_FAILED )
{
f_BatchErrLogWrite( __LINE__ , "Fatal error in mmap %s\n" , strerror( errno ) );

살자의 이미지

mpeg4에대해

안녕하세요.
mpeg4무엇인지 궁금합니다.
멀티미디어 압축방법이라고 나와있는데여..
압축 방법인지, 아니면 통신 방법인지 궁금합니다.
그럼 좋은 하루 되시길...

seeker의 이미지

shm_open 하면 메모리가 초기화되는지요?

shm_open으로 공유메모리를 생성한후
mmap로 공유메모리 크기를 적당히 지정했습니다.

이때 할당된 공유메모리내용이 0으로 초기화되어있는지 궁금합니다.

안그렇다면 초기화할수 있는 방법이 있는지요?

keizie의 이미지

#define 안에 #define을 쓸 수 있습니까?

[code:1]#define G_TYPE_MACROS(type_as_func, type_prefix, type_uppercase, type_camelcase) \
#define type_prefix ## _TYPE_ ## type_uppercase \\ \
(type_as_func ## _get_type ()) \
#define type_prefix ## _ ## type_uppercase(obj) \\ \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), type_prefix ## _TYPE_ ##type_uppercase, type_camelcase)) \
#define type_prefix ## _ ## type_uppercase ## _CLASS(klass) \\ \
(G_TYPE_CHECK_CLASS_CAST ((klass), type_prefix ## _TYPE_ ## type_uppercase, type_camelcase ## Class)) \

zienie의 이미지

접속한 클라이언트의 IP주소를 얻어오는데............

struct sockaddr_in name;
int namelen;
char remote_ip[20];

net_info->fd = fd; // 접속한 사용자의 FD

/****** remote 정보 읽기 *********/
namelen = sizeof ( name );
getpeername ( fd, (struct sockaddr *)&name, &namelen );

strcpy ( remote_ip,  (char*)inet_ntoa ( name.sin_addr.s_addr ) );

접속한 클라이언트의 IP 주소를 얻기 위해 위와 같은 방법을 사용합니다.
그런데...

간혹, 128.134.xxx.xxx..... 이나
164.124.xxxx.xxx 같은
이상한 IP 가 잡히는군요.

suggy12의 이미지

Q] 커널 및 gcc 를 upgrade 한다음에 생긴 문제점...

최근에 와우 리눅스 7.3 을 깔았습니다. 그 후에 커널을 2.4.20으로
gcc를 3.2.2로 upgrade했습니다. 그 후에 특정 프로그램을 gcc 혹은
g++로 컴파일 한 후 실행시키면 아래와 같은 메시지가 나옵니다.

error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

프로그램은 수치계산 프로그램입니다. 제가 직접 짠 프로그램은 문제가
생기지 않는데, 다른 사람이 짜놓은 것을 include 하는 프로그램에서 위와
같은 에러가 나옵니다. 엎그레이드하기 이전에는 잘 돌아갔었습니다.

shean0의 이미지

PCC-F-02104, Unable to connect to Oracle 이런 에러는??

안녕하세요..다시 도움을 요청하게 되었네요..
현재 UNIX, 솔라리스 8.1.7을 사용중입니다.
지금 하는 작업이 UNIX1 ==>UNIX2로 이전 (프로그램 및 DB모두)작업을 하고 있는데요..

UNIX2에서의 홈디렉토리는 .profile에서 설정을 바꾸었구요..
프로그램에서 DB_CONNECT를 할때 ID,PASS는 바꾸었구요..

이전 작업 목표 시스템 로그..현재 여기가 문제죠..
[code:1]"myproc.pc" 2276L, 79910C written
[netra02:/export/home/sean/TeleMatics/S_SOK_PROC]$make -f mymakeing

hyunuck의 이미지

HTML 질문입니다. :-)

DB 에 값을 넣고 읽어올때

1111111111111111111111111111111111111111111111111111111111

이런식으로 숫자를 테이블 폭보다 넙게 넣으면 테이블이 늘어나잖아요.

그래서 익스플로러에서는 아래와 같이 CSS 를 이용해서 해결했는데,
<td style='word-break:break-all;'>

최근 브라우저 중립 홈페이지에 관심이 많아져

넷스케이프에서도 테스트 해봤는데 넷스케이프에서는 제대로 동작하지 않더군요.

넷스케이프에서 해결 방법 아시면 부탁드립니다.

페이지

프로그래밍 QnA 구독하기