프로그래밍 QnA

trymp의 이미지

phtread_mutex_lock() 은 write 할 때만 쓰면되나요??

리눅스를 배우는 초보입니다.

pthread_mutex_lock() 함수는 데이터가 수정될 때만 사용하면 되나요?

아니면 읽기가 일어날 때도 사용해야하나요??

가령
global int g_val = 100;

pthread_mutex_lock(mylock);
g_val = 200;
pthread_mutex_unlock(mylock);

tmp = g_val; // 이부분

여기서 g_val 변수를 읽는 부분도 phtread_mutex_lock 으로 막아주어야 하나요?

아니면 읽기일때는 안 걸어주어도 되나요??

고수님들의 조언 부탁드립니다.

spkpc의 이미지

lex 및 yacc 처음 사용합니다. 툴 어떤걸 설치해야하나요?

학교 수업으로 컴파일러 관련 수업을 듣고 있습니다.
레포트로 javacc를 이용하여 간단한 계산기도 소스를 돌려보았는데
이젠 lex 하고 yacc 를 이용하려 해보려고 합니다.
아직까지는 계념 정도만 잡은 정도라서 lex 및 yacc 에 대해 책에서 공부한거 말고는 감이 잘 안오네요

어쨋든 질문은

1. 툴은 어떤것을 설치하는게 좋나요? 일반적이고 텍스트 기반으로요... (사용하기 어렵고 이런건 상관없습니다)
그냥 $yacc 쳐보면 뭔가 나오던데.. 원래 설치할때 개발패키지에 포함이 되어 있나요?
검색하여 보니 lex는 flex, yacc 는 bison을 사용하라고 하던데.. byacc 하고의 차이는 무엇인지...

2. 책을 전체적으로 대충 훝어보긴 했지만 아직 감이 안잡힌게.. lex하고 yacc툴들이 알아서 scanner 도 만들어 주고 LALR 구문분석까지 다 해주면
제가 해야 될것은 뭔지... 그냥 javaCC 처럼 뭐뭐뭐.L이라는 파일을 C문법으로 코딩해서 lex하고 yacc로 돌려주면 컴파일러가 나오는 건가요?

cleansugar의 이미지

수익률이 음수도 있을 때 평균 수익률 구하는 법 있나요?

원금을 모르는 상태에서 매 기간 수익률(+ or -)만 알 때 평균수익률 어떻게 구하나요?

예를 들면 1기 +10% 2기 -5% 3기 +10% 일때 총 3기의 평균수익률을 구하는 겁니다.

기하평균은 음수가 안됩니다.

초기값을 100으로 놓고 계산하는 건가요?

한 문장으로 된 공식이 있을 것 같은데 이 중에 있을까요?
http://en.wikipedia.org/wiki/Rate_of_return

설명좀 부탁드립니다.

익명 사용자의 이미지

fread를 memcpy로 대체하는 방법???

DSP보드를 이용해서 응용프로그램을 만들고 있는데,,,,

DSP특성상 FILE 포인터를 사용할 수 없습니다.

따라서 FILE 포인터에 의한 fread 함수를 memcpy로 대체하는 방법을 찾고 있습니다.

fseek(ptfile, *nb_octets_already_read, 0);

fread(&buffer[nb_octets_to_read_temp - NalRbspBytes], sizeof(char), NalRbspBytes, ptfile);

위 부분처럼 쓰지 않고 같은 기능을 구현할 수 있는 방법은 없을까요?

설명해드리자면,

ptfile은 FILE 포인터로 동영상파일을 가리키고 있습니다.

*nb_octets_already_read 이 부분은 동영상파일의 데이터중 이미 디코딩된 데이터의 크기로 int형 변수입니다.

따라서 fseek을 통해 다음 디코딩할 부분으로 위치하게 됩니다.

mbcls의 이미지

간단한 배경화면 자동 변경 프로그램을 만들고 싶습니다.

윈도우의 배경화면을 자동으로 바꾸는 프로그램을 만들고 싶습니다.

일단

핵심 기능 - xp~7에서 정해진 시간 & 컴퓨터 부팅 시 지정된 폴더에 있는 그림들로 배경화면 교체

부가 기능(가능하다면)
1. 개인 웹 서버를 구축하여 그림 파일들을 서버에 올려 놓고 프로그램이 이를 다운받으며 교체

2. 이 서버를 안드로이드에서도 접속이 가능하도록 하여 안드로이드의 배경 화면 변경도 서버에 접속해서 다운받아 변경하는 식으로...

일단 가장 핵심이 되는 배경화면 변경 프로그램부터 제작하고자 합니다.

그런데 제가 이 프로그램을 무엇으로 어떻게 만드는지에 대한 지식이 전무하네요. Visual C++? MFC? 자바? 어떤 언어로 작성되는지부터 알아야 책을 보면서 공부할텐데, 딸랑 C, C++, 자바만 배운 학부생으로써는 그저 막막할 따름입니다. 그리고 사정이 있어 어떻게든 1달 이내에 끝내야 하기 때문에 배경화면 변경 프로그램과 관련 소스나 강좌가 필요한 상황입니다.

snlbc00sp의 이미지

VISUAL STUDIO 에서 컴파일할 때,,

컴파일시에

에러가 하나라도 발생하면 바로 컴파일을 중지시켰으면 좋겠는데,

방법이 있을까요??

primera의 이미지

쉘 스크립트로 remote서버의 파일을 로컬로 다운받는 작업 중 ftp 이외 명령을 실행하려면

remote 서버와 local 서버가 있는데요, 둘다 unix서버입니다.
remote 서버는 여러대가 될 수도 있어요.
local에서 매일매일 remote 서버의 특정 경로에 있는 로그들을 압축파일로 만들어 다운받아야 하는데요,

=====================================
#!bin/sh

##환경 설정
remoteHOST=0.0.0.0
remoteUSER=test
remotePW=test
remoteDIR=/home/test/log

logFILE="test.tar"

##ftp 접속
ftp -inv $remoteHOST << EOF
user $remoteUSER $remotePW

##remote 서버의 백업대상을 지정포맷으로 압축
cd $remoteDIR
tar cvf $logFILE *

##local로 압축자료 전송
get $logFILE

snlbc00sp의 이미지

visul studio 2008 에서 error발생시 컴파일 중단시키는 옵션??

visual studio 에서는

컴파일 중에 error가 발생해도 끝까지 컴파일을 하고 종료가 되잖아요,

error가 하나라도 발생 했을 경우 바로 컴파일을 중단시키는 방법이 있나요?

꼭 필요합니다...

ttampang의 이미지

getopt사용에 관해서...


리눅스에서 미니 ftp를 만들고 있는 과정중입니다.
그래서 소켓을 사용하여 클라이언트에서 명령어를 입력하면,
서버쪽 명령을 수행하고, 수행한 화면을 문자열에 저장하여 다시 클라이언트에게 보내주어
클라이언트가 결과를 확인할 수 있게 하고 있습니다.

클라이언트에서 ls clent -al 이렇게 보내면 NLST client -al 이렇게 Convert가 되고,
이 문자열을 소켓을 통해 서버로 보내게 됩니다.
서버는 fork()를 통해서 자식 프로세스를 생성하고 자식프로세스는 이제 이 명령어를 처리하게 되는데요.
자식 프로세스에서 이 문제열을 받아 토큰(" ")으로 잘라서 argv[]의 문자열 배열에 넣게 됩니다.(argv는 동적할당으로 2차원 배열을 생성합니다)
(만약 NLST client -al 이렇게 입력하면 argv[0] = NLST, argv[1]= client, argv[2]= -al
이렇게 들어가게 되고 argc는 3이 됩니다.

이렇게 만들어진 argc와 argv를 가지고 getopt()를 수행하게 되는데요.

domangan의 이미지

c++프로그램에서 realloc 을 어떻게 써야하나요?

C++ 프로그램에서 strcat 코드 소스가 어떻게 되냐요?

그리고, strcat 에서는 동적 메모리 할당이일어나야 할텐데요, 여기서 동적메모리 할당을 realloc() 을 써서 나타내주실수 있나요? ㅜ

페이지

프로그래밍 QnA 구독하기