프로그래밍 QnA

nunobabo의 이미지

WINDOWS+DLL+ASP --> LINUX+LIB+PHP 로 환경이 바뀌었을때..

원래 asp페이지에서 VB로 만든 DLL의 함수를 호출하는 식의 방식으로 계속 진행되어 오다 플랫폼을 리눅스로 바꾸는 바람에 C로 LIB 파일을 만들어 PHP 페이지에서 함수를 호출해야 하는 상황으로 되어 버렸습니다.
계속 윈도우서버 기반의 프로그램만 만들다 갑자기 리눅스로 전환되어 어떻게 해야 할지 모르겠네요...
모듈화를 하는 것은 회사의 데이터베이스 정보와 서비스 관련 중요한 정보가 들어 있어서 꼭 필요 한 것인데 LIB파일이 DLL만큼 코드은닉을 확실히 할 수 있는지요?

demian의 이미지

시리얼 프로그램에서 write문제

안녕하세요...
시리얼 프로그램에서 write부분에 궁금한 것이 있어 질문드립니다.
write가 안되는것이 아니구 잘 되는데요..
문제는 write할 device가 꺼져있거나 연결을 안해놨을때도
write는 성공한 걸로 나와서 문제가 됩니다.
write의 리턴값이 쓴값만큼 리턴이 되더군요.. device랑은
연결조차 안했는데...
device가 연결이 안되어 있으면 write에서 실패하게 하려면
어떻게 해야 하는지 알려주시면 감사하겠습니다.

acidd15의 이미지

api document를 만들려고 하는데.

doxygen말고 심플한것은 없나요?

참고로 entired html 형태로(하나의 파일로 된 형태) 만들건데요.

좋은 정보 부탁 드리겠습니다.

bejoy4him의 이미지

select등을 이용하여 버퍼구현시 파일생성하지 않으려면??

Buffer를 구현하려고 합니다.

Ring Buffer에 메시지를 Queuing시키면 읽어가는 쪽에서 블럭되어 있다가
블럭이 풀려서 메시지를 읽어가도록 하려 합니다.

이미 Win32용으로는 IOCompletionPort라는 커널 API를 이용하여 구현을 하였습니다.
IOCompletionPort은 Select와 같은 것을 커널레벨에서 지원하는 API로 보이는데..
인자를 File descriptor를 받기도 하지만, 실제 파일을 생성하지 않고서
동작이 가능하였습니다.

유닉스 쪽에서 구현된것은 어떠한가 찾아보니 소스포지에서 VRB(Virtual Ring Buffer)라는

la9527의 이미지

C++ 프로그램에서 로그 처리에 대해서...

[code:1]
bool Log::FileWrite(const char* sFile, const char* fmt, ...)
{
char* buffer = new char[1024];
int buflen = 1024;
va_list ap;
if (!buffer)
{
cerr << "Buffer over flow :: Exception !!!" << endl;
return false;
}

va_start(ap, fmt);
_log_snprintf:
if (vsnprintf(buffer, buflen, fmt, ap) == -1)
{
if (buffer) delete buffer; buffer = NULL;
buffer = new char[buflen+100];
if (!buffer)
{
cerr << "Buffer over flow :: Exception !!!" << endl;

leech000의 이미지

[질문]MIPS컴파일러

제가 요번에 컴파일러을 만들게 되었는데.

MIPS컴파일러를 분석해 볼필요가 생겼습니다

어디 소스나 실행 파일을 구할데가 없을까요?

line7979의 이미지

the c programming language 원서를 보면서 공부하는데...

영어공부겸 원서를 보고 있습니다...

근데 혹시 영어문장을 입력하면 발음을 들려주는 프로그램이

있으면 추천좀 해주세요... 읽으면서 공부하는데 발음이 완전 xx

네요 -_-;;; 그리고 리치가 쓴 the c programming language

번역서는 확실하게 번역 잘된거 있으면 추천좀 해주세요

불쌍한 중생에게 구원을 ~~ :o

fallinblue의 이미지

Windows2000에 Mysql을 깔아서 사용하는데 자꾸 이상한 파일이

현재 Windows 2000에 Mysql을 설치하여 사용하고 있습니다.
그런데 C: 루트 디렉토리에
t1i0.1 tgg.1 tho.1 tig.1 tgg.2 tl8.2 tl8.3
이런 이름의 파일들이 계속 생겨나네요.
어떤 파일들은 지우면 지워지고
어떤 파일들은 공유법 위반으로 지워지지도 않고요.
이게 왜 생기는 건지,, 그리고 어떻게 하면 없앨 수 있는지좀 알려주세요...
여기저기 찾아보는데 알 수가 없네요..

leolo의 이미지

[질문] 라이브러리가 g++로 된 경우

[질문] 라이브러리가 g++로 컴파일 된경우
이를 *.c 파일에서 컴파일 하여 사용하기 위한 방법이 있는지요.
라이브러리의 헤더 파일도 g++에 적합하도록 된거 같은데.

한가지 더 질문드립니다.
Makefile에서 -DLINUX의 의미가 무엇인가요?

air74의 이미지

비트 연산에 대한 질문 (비트 빼기는 어떤식으로 하나요?)

안녕하세요.

unsigned int a = 0xfffaffff;
unsigned int b = 0x3f0fbbba;

위와 같을 경우 a 의 각각의 bit 와 b 와 비교 하여 b 의 bit 가 1 로 세팅 되어 있을경우 해당하는 a 의 비트를 0 으로 만들고 싶습니다. (단 a의 해당하는 비트가 0 이면 상관 없습니다.)

제 생각에는 b 의 1의 보수를 구해서 & 연산을 하면 될거 같은데 b 에 대한 1 의 보수를 구하려면 어떻게 해주어야 하나요?

좋은 생각이 떠오르지 않습니다. 조언 좀 부탁 드립니다.

[code:1]

페이지

프로그래밍 QnA 구독하기