프로그래밍 QnA

qkrwncks593의 이미지

어셈블리어 레지스터 질문

어셈블리어를 배우고있는데 레지스터에대해 이해가 잘안갑니다.

1. 메인함수에 있는  short a=2; char b=5;   변수선언코드의 역어셈블 코드를 보면

처음에 부터시작하면

push ebp
mov ebp,esp
sub esp,0x4 // 여기서 esp 에서 4를 빼는 이유를 모르겠습니다 ; 스택메모리를 할당한다는데 왜 esp 에서 4를 뺀다는건지 이해가안가요
..
..
mov word ptr [ebp-2],0x2
mov byte ptr [ebp-3],0x5

여기서 또 왜 값을 대입할때 esp 를 이용하지않고 ebp 를 사용해서 메모리에 값을 대입하는거죠 ?

마지막으로 스택에 메모리공간을 할당할때 push 를 사용하는데 왜 sub 를 사용하는지 정말 이해가 안갑니다. 이거에대해 자세히 설명해주세요 ㅠ

carosy의 이미지

lighttpd 브라우저 출력 버퍼 사이즈 올릴수 있나요?

안녕하세요.

아래 질문도 있습니다만, 요건 좀 다른거라서 새로 올릴께요..ㅠㅠ

현재 lighttpd로 웹서버 돌리는데요.
출력버퍼 사이즈나에 관련해서 설정할 수 있나요??
출력이 안되다보니, lighttpd설정이라도 바꿔보고싶어요..ㅠㅠ

*날씨가 너무 덥습니다. 건강 유념하시길 바랍니다..

bullgom의 이미지

Cron 에러 메세지

안녕하세요?

Cron 으로 지정된 회원에게 자동으로 이멜을 발송하게 만들었는데요, 언제 부턴가 아래와 같은 에러 메시지가 mail_new_no.php on line 64 에 문제가 있다고 5분에 1번씩 루트계정으로 이멜이 오고 있습니다. 제가 개발에 대해선 무지한이라 고수님들의 도와 주시면 사례해드리겠습니다.

메시지 ---
Warning: join(): Bad arguments. in /data/file/tel/cron_work/mail_new_no.php on line 64
Cron /usr/www/php2/bin/php /home/tel/cron_work/mail_new_no.php

문제가 있다고 나오는 mail_new_no.php on line 64 페이지

<?
/*
읽지 않은 메일 갯수 가져와서 넣기

blueskyhom의 이미지

tcp/ip통신 관련.

안녕하세요 TCP/IP를 이용하여 통신을 하고 있는데요.

Client -> Server로 1K + 24byte의 Size의 Data송신하면 정상적으로 동작을 합니다.

그렇지만

Client -> Server로 32K + 24byte의 Size의 Data송신하면 4K정도는 들어오는데 나머지 Data들이 들어오지를 않습니다.

read(), write()를 이용하여 송수신을 하고 있는데요.

client에서 write()에서 32K +24byte의 Data를 송신하는것은 확인을 했는데.

server에서 read()를 할때 Data가 전부 들어오지가 않는 군요.

read()의 return값을 보니 32K+24byte가 되어야 할것 같은데요. 이게 4K정도 밖에 되질 않습니다.

recv(), send()의 flag를 0으로 설정하고 해보니 현상은 비슷하구요.ㅡㅡ;

32K 나 64K Data를 송수신 할수 있는 방법이 없는 건가요.?

xgate의 이미지

[완료] PHP 확장모듈 사용

PHP에 대해 잘 모르는 초보입니다.
현재 php용 zookeeper client 라이브러리를 구해서 확장모듈로 만들어 사용하려고 합니다.
확장모듈로 만드는 것은 성공했고 phpinfo에도 관련 정보가 나옵니다.

문제는 직접 php 파일을 실행(ex: php xxxx.php) 시키면 결과가 잘 나오는데, 브라우저를 이용해서 접속하면 결과가 출력되지 않습니다.

코드는 아래와 같습니다.

declspec의 이미지

netstat vs ss

리눅스에서 netstat 명령을 치면
/proc/net/tcp 에 있는 정보를 기반으로
시스템에서 사용중인 소켓들에 대한 정보를 알려줍니다

그런데 버전 1.4 이상인가부터 netstat 대신에 ss 라는 비슷한
프로그램이 사용됩니다
man 페이지에 보면 netstat 은 obsolete 이니 ss 를 쓰라고 나와있습니다.

그런데 ss 는 /proc/net/tcp 에서 정보를 가져오는게 아닌거같더군요.
ss 는 어떻게 시스템에서 사용중인 소켓들에 대한 정보를 얻어오는걸까요?

carosy의 이미지

CGI 화면 출력관련 질문드려요~!

안녕하세요.

리눅스C를 이용해서 인터넷화면(익스플러로)에 출력을 하고 있는데요.

문제의 요지는 이렇습니다.

소켓통신을 하여, 요청을 하고 응답을 하여 결과물을 화면에 출력하기를 반복하고 있습니다만,
화면에 출력되는 값이 길면, 한번에 출력이 되구요. 짧으면 버퍼가 쌓인후에 출력이 됩니다.

그러니깐,
while(1)
{
소켓 리딩;
소켓 쓰기;

for(i = 0; i < NUM_CHANNELS; i++)
{
printf("Motion%02d:%d\r\n", i, cgi_motion->cams[i].state);
}
fflush(stdout);
sleep(1);
}

이렇게 출력을 하면 계속해서 출력이 되는데요,
for문없이 printf한줄만 출력할려고 하면, 바로 출력이 되지 않습니다..

upersbird의 이미지

[완료] 메모리 할당 및 해제에 관련된 C소스인데 문제점을 모르겠습니다. 도와주세요 ㅠㅠ

- 내용 요약

: 단순 연결 리스트를 통해서 노드에 malloc을 할당한 값을 순차적으로 넣고, 순차적으로 메모리 해제를 하는 소스입니다.
메모리 해제 시 alloc된 주소와 free 주소가 일치하는데 해제하고 top으로 찍어보면 메모리 점유율은 같습니다.
valgrind --leak-resolution=high --log-file=memcheck.txt --trace-malloc=yes --leak-check=yes --show-reachable=yes -v [실행]
결과 메모리 누수가 발생하지 않았습니다. 이런 경우는 어떤 경우인지 설명좀 해주시면 정말 감사하겠습니다. ㅠㅠ

- 소스 코드(간단합니다...ㅠㅠ)

[[[main.c]]]

콩수니의 이미지

임베디드 리눅스에서 sleep함수를 쓰는데요

임베디드 리눅스에서 반복문안에서 sleep 함수를 사용해서 구현을햇는데
작동하다가 프로그램이 반응이 없습니다..

while(1){

work()//내가 지정한 작업 수행

sleep(30); //30초 대기
}

뭐 단순히 로직은 이렇게 보시면 되겠습니다.
당연히 30초 쉬고 작업하고 30초 쉬고 작업해야 되는것같은데...
처음 얼마동안은 잘 작동하다가 시간이 지나면 정말로 잠들어버리더군요...
잠들어버리는 시간도 몇번 해보니 랜덤하게 일어납니다.

그래서 sleep() 함수없이 반복문으로 작업햇더니 무한히 작업을 잘하더라고요

그리고 추가로 sleep 함수의 정확도가 궁굼합니다.!!
티값으로 계산해서 완벽히 정확하다는데 혹여 제시간에 계산을하더라도 스케줄러에서 뒤로 밀려서 약간의 오차가 발생 할 경우는 없는가요?
궁굼하네요!!

조언부탁드립니다.

lmk378의 이미지

[완료]MFC 프로그래밍시 질문있습니다.

프로젝트 명을 Test로 하고 다이얼로그베이스로 생성하면
다음과 같은 코드가 자동생성됩니다.

//TestDlg.h
#pragma once

class CTestDlg : public CDialogEx
{
public:
CTestDlg(CWnd* pParent = NULL); // 표준 생성자입니다.
enum { IDD = IDD_TEST_DIALOG };
...
}

궁금한건 enum { IDD = IDD_TEST_DIALOG }; 이부분에서
IDD_TEST_DIALOG에 대해 Resouce.h에 define이 되어있다는 것을
#include "Resource.h" 없이 어떻게 알 수 있나요?

페이지

프로그래밍 QnA 구독하기