프로그래밍 QnA

djfdmacpdls의 이미지

윈속 recv없이 값을 받는 방법

서버와 통신하는 소켓을 사용하는 윈도우 유저 프로그램 A에 관해서 이야기를 드리겠습니다.

질문a) 요약하자면 패킷이 랜 카드에 도착하면 드라이버나 커널이 알아서 패킷의 값을 A프로세스에 write하는 기법이 있나요?

이와 같은 일이 궁금한 이유는, 실제 A프로그램을 분석하면서 A프로그램을 윈도우 작업관리자나 디버거를 통해서 완전히 A프로그램을 suspend 혹은 freeze 하였습니다. 그 후 서버가 패킷을 보내 와이어샤크를 통해 패킷을 확인하였습니다. 그 후 디버거를 통해 A프로세스의 메모리값을 확인하던 중 와이어샤크에서 수신한 패킷이 A프로세스의 데이터 영역에서 발견이 되었습니다.(A프로그램이 윈도우 서비스나 다른 프로세스와 전혀 연결되지 않았고 웬 만큼 의심할 수 있는 부분은 다 확인하였고 근본적인 a)의 질문만이 남았습니다.)

오일러의 이미지

키보드 드라이버 제작

요즘 데스크탑에서 많이 사용되는 usb형식의 키보드 드라이버를 만들고자 하는데요
혹시 참고하면 좋을 자료같은거 있을까요?

이런건 처음이라 감이 잘 안오네요.

os에 종속적인 내용 보다는
usb형식의 키보드 드라이버 그 자체에대한 내용 위주로 알고싶습니다.

eu의 이미지

유닉스 범위설정

디렉토리 안의 파일 전체:

code-09_00
code-09_20
code-09_40
code-10_00
code-10_20
code-10_40
code-11_00
code-11_20
code-11_40
code-12_00
code-12_20
code-12_40
code-13_00
code-13_20
code-13_40
code-14_00
code-14_20
code-14_40
code-15_00
code-15_20
code-15_40
code-16_00
code-16_20
code-16_40

문제 : 파일 이름 끝 부분이 11_00 에서 14_40 까지인 파일을 나열해라.

-> ls code-[!09-10]* ; ls code-[!15-16]*

study의 이미지

thread 연습중에 이해가 안가는 부분이 있어 질문 올립니다.

https://kingko.tistory.com/entry/Message-Queue%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-Thread-%EA%B0%84-%EB%A9%94%EC%8B%9C%EC%A7%80-%EC%A0%84%EB%8B%AC
를 보면서 thread 프로그래밍 연습을 하고 있었는데요.

좀 이해가 안가는 부분이 있어서 질문 올립니다.
위의 링크를 참고해서 아래와 같이 예제를 만들어 보고 있었습니다. (아직 완성된 건 아닌데요..)

bommy의 이미지

논리 연산자의 우선순위/계산

안녕하세요! c 처음 배우는 대학생입니다
논리 연산자라는 것을 공부하면서 의문점이 생겨 질문드립니다ㅠㅠ

- 논리 연산자의 우선순위
x = y = z = 1;
result = ++x || ++y && ++z;

의 식에서 &&이라는 논리 연산자가 ||이라는 논리 연산자보다 우선순위가 높기 때문에
저는 ||보다 (++y && ++z)의 식이 먼저 계산될 것이라고 생각했지만, ++x || ++y를 먼저 연산한
결과가 나왔습니다... 저는 프로그래밍이 항상 우선순위에 따라서 연산이 되는 것이라고 생각했는데
왜 왼쪽부터 계산한 결과가 나오는 것인가요??

+) ||이나 &&이 시퀀스 포인트로써의 역할을 하기 때문에, ||이전에서 식이 연산되어야 하기에
우선순위가 무시된 것이고, 시퀀스 포인트로써 기능하지 않는 연산자들의 우선순위는 제가 원래
생각했던 것처럼 연산의 우선순위를 정해주는 역할을 하는 것인가요??

bommy의 이미지

c언어undefined behavior

안녕하세요,, 대학교 1학년 전필 과목으로 c언어를 듣고 있는 학생입니다.
수업 내용 중에서 sequence point와 undefined behavior에 대한 내용이 나왔는데,
undefined behavior가 제대로 이해되지 않아 질문드립니다 ㅠㅠ

제가 이해한 바로는 undefined behavior는 컴파일러에 따라서 실행 결과가 다르게 나와
이식성을 떨어뜨리기에 사용하지 않는 편이 좋다는 것인데요,

예를 들어, a = i + i++; 식의 문장에서 후위수식연산자가 우선순위가 가장 높기에 먼저 실행되지만,
i값에 1이 더해지는 side effect는 sequence point 이전까지만 실행되면 될 뿐, 정확한 순서까지는
알 수 없기 때문에 컴파일러에 따라서 a = (i+1) + i이 되거나, a = i + i이 될 수 있다는 것입니다.
(맞나요?ㅠㅠ)

제 교수님께서는 수업에서 후위수식연산자에 대해서만 다루셨는데, 전위수식연산자는 어떤 식으로 처리되는지
궁금합니다..

tlswldnjs410의 이미지

Makefile 초보자 질문드립니다.

안녕하세요, 간단한 코드인 것 같은데 makefile 을 처음 사용해보는지라
검색 끝에 이렇게 질문하게 되었습니다.
자꾸 undefined reference to `main' 라는 오류가 뜨는데 어떻게 해결해야 할까요?
아래는 코드입니다.

 
//main 함수
#include "Header.h"
 
void main() {
	int arr,res[10],t;
	scanf("%d",&t);
    	for(int i=0;i<t;i++){
        	scanf("%d",&arr);
        	count(arr);
        	output();
    	}
 
}

helloong의 이미지

Solaris cc to a Linux gcc 컴파일 오류

안녕하세요? 궁금한게 있어서 질문 드립니다.
기존 SPARC Solaris 환경에서 컴파일하여 사용하던
오래된 c소스를 x86 64bit linux 머신의 gcc 환경으로 변경 컴파일 하려고 합니다.

Linux 머신에서 아래와 같이 gcc를 사용하여 컴파일 하려고 하면 struct in_addr 부분에서
에러가 나는것 같은데 어떤 에러인지 아시는분 계실까요?

# gcc -g -m64 -D_REENTRANT -D_SOL10 -I./ -I/usr/include -I/usr/local/include -g -m64 -L/usr/lib -lrt -lnsl -lsocket -lpthread -o watchdog watchdog.c logger.c unisock.c conf.c common.c unicrypt.c aes.c seed.c base64.c

임동규컴퓨터공학전공@Google의 이미지

우분투 에러 질문입니다.

라즈베리파이용 우분투 20.04.4LTS 서버입니다.
컴파일중 에러입니다.

error: '_IO_UNBUFFERED' undeclared (first use in this function)

오류어떻게 해야하나요..
_IO_LINE_BUF도 에러에요

헤더는 stdio.h, stdlib.h 주었어요

페이지

프로그래밍 QnA 구독하기