프로그래밍 QnA

klaatus의 이미지

opacity 구현시 30/70을 정수 연산 혹은shift 연산으로 나타내는

실수연산

r = COLOR_R( color ) * 30 / 100 + COLOR_R( *target )* 70 / 100;
g = COLOR_G( color )* 30 / 100 + COLOR_G( *target )* 70 / 100;
b = COLOR_B( color )* 30 / 100 + COLOR_B( *target ) *70 / 100;

제가한 shift연산입니다.
결과에 오차가 생긴다는 0.31 :0.69
srcr=(int)(getr(color));
srcg=(int)(getg(color));
srcb=(int)(getb(color));

destr=(int)(getr(op_color));
destg=(int)(getg(op_color));
destb=(int)(getb(op_color));

r = (srcr>>1)-(srcr>>2)+(srcr>>3)-(srcr>>4)+(destr>>1)+(destr>>2)-(destr>>3)+(destr>>4);

namola의 이미지

fcntl질문이요?

[code:1] 1 #include <sys/types.h>
2 #include <unistd.h>
3 #include <fcntl.h>
4 #include <sys/wait.h>
5 #include "myhdr.h"
6
7 int main(void)
8 {
9 pid_t pid;
10
11 /* 파일 디스크립터 플래그(close-on-exec)를 1로 설정한다 */
12 if (fcntl(STDOUT_FILENO, F_SETFD, 0) < 0)
13 syserr_exit("error at fcntl()");
14
15 switch(pid = fork())
16 {

kook1979의 이미지

ctime과 받대로 적용할 있는 함수를 알고 싶습니다.

네 시간을 저장하는데 DB에서

int32타입으로 저장을 합니다.

그래서 검색을 할때... 조건을 주어서

하려고 하는데 어떤 방법으로 쿼리를

보내는 것이 좋을가요?

제 개인적인 생각으로는 ctime과 반대인

함수가 있다면 가능하다고 생각되는데..

있다면. 알려 주시면 감사하구여

이런 방법이 아닌 다른 방법으로 검색

가능 하면 그러한 방법을 알려 주심 더 감사합니다

이현우의 이미지

함수 원형을 살펴보다가...

1. /usr/include 에서 stdio.h에서 함수 원형을 살펴보다가...
함수명에 앞에 *가 붙어 있는 넘이있고
없는 놈이 있더군요... 차이점이 뭔지좀 설명 부탁드립니다.
(혹시 리턴형이 주소값이 리턴 가능하다는 뜻인지 ㅡ.ㅡ?)

파라미터에서 char *s에는 인자로 포인터를 받겠다는건 알겠는데요..
너무 기초적인 질문인가요..ㅡㅡ;

Quote:
(있는넘)extern char *cuserid (char *__s) __THROW;
(없는넘) extern int fileno_unlocked (FILE *__stream) __THROW;

2. 두번째로 *.h 파일들은 살펴보니까... 매크로등이 __ 언더바로 시작하는

splendor의 이미지

[질문] 컴파일, 링크, make 등등에 대해서...

안녕하세요?
C 초보입니다.

컴파일, 링크, make 등등의 작업들이 좀 어렵게 느껴지는데요.

.h 파일과 .so 파일에 make파일 등등 상당히 복잡하던데요.

이와 관련된 인터넷 자료나 책이 있으면 좀 추천해주세요.

keston의 이미지

[질문]다음 C프로그램에서 잘못된 부분이 있나요?

원래 소스가 길어서 핵심부분만 뽑아서 질문 드립니다.
[code:1]main(int argc,char **argv)
{
int flag=1;
char *name=(char *)malloc(100);
char *pass=(char *)malloc(100);
FILE *fp;

fp=fopen("log","r");
while(!feof(fp)) {
fscanf(fp,"%s\t%s\n",name,pass);
if(!strcmp(argv[1],name) && !strcmp(argv[2],pass)) flag=0;
}
fclose(fp);
free(name);
free(pass);

if(flag==1) {

quintus의 이미지

gdb로 배열의 값을 보다가..

int main(int argc, char** argv){
int fd[argc];
int i;

for(i=0;i<argc;i+){
fd[i]=open(argv[i],O_RDWR);
printf("fd[%d]=%d\n",i,fd[i]);
}

return 0;
}

파일 디스크립터를 배열로 저장하고
그걸 프린트 했습니다.
근데 gdb 로 그 때 그 때의 배열의 값을 보니
printf 된 값과 다르게 나오네요. 어찌 된건지...

Quote:
$gdb a.out
(gdb)run *
(gdb)b 6
(gdb) print fd[0]
$1=0xbfff9c0
(gdb)next
fd[0]=-1
...........
rain의 이미지

kernel 에서는 부동 소수점을 출력할 수 없다?

proc를 이용해서 커널 모듈의 정보를 보여 주고자 합니다.
그래서 sprintf를 이용해서 출력을 했는데요. %f가 먹히질 않는 군요.
책에도 부동소수점을 나타내는 형식지정자도 나와 있질 않군요.
먼가 이유가 있는 건가요? 다른 방법은 없는지요...

happyman의 이미지

복잡한 포인터 문제..어떻게 해결하죠...

char (*(*x[5])())[10]
이런 포인터의 뜻은 어떻게 되나요...
도저히 모르겠어요. :oops:

taeyeung의 이미지

for 루프 2개를 돌리는 것보다 더 빠른 실행결과를 얻는 방법은?

for( i=0; i<100000; i++)
for( j=0; j<100000;j++)
aaa[i*WIDTH+j] = bbb[i*WIDTH+j];

이런 루틴이 있는데요.

속도를 더 빠르게 하는 방법이 뭐 없을까요?

(단 C언어로 된 루틴이어야 합니다 )

페이지

프로그래밍 QnA 구독하기