프로그래밍 QnA

kopcomeng@Google의 이미지

뉴비 질문... 서버 클라이언트 간에 함수호출이 필요하면 어떻게 해야하나요?

콘솔 채팅프로그램 만들고 있습니다.

책을 통해 공부하니 바이트로 메시지를 주고받고 하던데 제가 생각한 방법은

메시지에 프로그래머가 정의한 명령어를 추가해서 그 명령어에 따라 서버에서 클라 함수를 호출하거나 반대로 클라에서 서버함수를 호출하는 방법이 떠오르는데요

이를테면 /w가 귓속말이라고 정의하겠습니다.
client0 ~ 5가 속한 대화방이 있고 client0이 client1에게 귓속말을 보낸다고 가정하겠습니다.

1. /w client1 안녕하세요라고 메시지를 서버에게 보냄
2. 서버는 /w라는 명령어를 해석하고 client1에게만 명령어 정보, 화자가 누군지, 메시지가 무엇인지 전송
3. 클라는 이렇게 들어온 메시지를 해석하고 client0으로부터의 귓속말 : 안녕하세요 출력...
클라 프로그램 내부적으로는 PrintWhisper() 실행

이런식으로 하는게 맞는 건가요?

study의 이미지

함수포인터 배열을 제가 이해 못 하는 것 같습니다.

오랫만에 질문을 올리네요.

최근에 State Machine에 대해서 여기저기 자료를 보고 있다가,발견한 곳인데요. https://yakking.branchable.com/posts/state-machines-in-c/
State Machine을 간단하게 이해하기 좋게 설명해 놓은 것 같아서 보다가

아래의 event handler 부분에서 이해를 못해서 시간을 보내고 있습니다.

junwon****@Naver의 이미지

SIGUSR1 시그널을 이용해서 자식프로세스가

부모 프로세스에게 메시지를 보내서 받을수 있게 만들면 어떻게 해야 할까요?

나름 해보다가 막혔습니다..

void handler(char * addr)
{

printf("parent received %s",addr );
}

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

int fd;
pid_t pid;
caddr_t addr;
struct stat statbuf;

if (argc != 2) {
fprintf(stderr, "Usage : %s filename\n", argv[0]);
exit(1);
}

if (stat(argv[1], &statbuf) == -1) {
perror("stat");
exit(1);
}

messycomp의 이미지

리눅스 커널 어떻게 공부해야 하나요?

아래 질문(https://kldp.org/node/165005) 올린 늦깎이 학생입니다.

리눅스 커널에 대해 공부해 보려고 하는데, 생각보다 쉽지가 않네요.
"유닉스는 모든게 파일이다!" 라고 해서, "그럼 파일을 알아야겠군!" 했더니, 막상 파일이 어떻게 다뤄지고 있는지도 따라가기가 어렵네요.
결국은 아직 헤메고 있습니다. 혹시 프로세스에서 열리는 화일 (파일 디스크립터) 가 어떻게 open file 과 연결되는지 이해가 될만한 문서 없을까요?
구글 해봤는데, 검색실력이 형편 없는지, 비슷한 내용으로 짜집기 이해를 할려고 해도, 도통 기본이 안되어서.

wkqkrhdclrl의 이미지

c++에서 lnk2005 오류가 났습니다.

각 파일별로 따로 작성하였습니다.

//Circle.cpp
#include
#include "Circle.h"
#include
using namespace std;

void Circle::setCircle(string name, int radius) {
this->name = name;
this->radius = radius;
}
double Circle::getArea() {
return 3.14*radius*radius;
}
string Circle::getName() {
return this->name;
}

//Circle.h

#ifndef CIRCLE_H
#define CIRCLE_H
#include
#include
using namespace std;

읏짜의 이미지

캐릭터 디바이스 드라이버

캐릭터 디바이스 드라이버 init함수 내에서 cdev_add 성공 후에 에러가 발생하면 cdev_del을 해주는게 맞나요?

그리고 class_create후에 에러가 발생하면 생성된 class는 class_destory를 해줘야 하나요?

익명 사용자의 이미지

c++ c2039에러나는 이유

struct vertex_info {
 
	double near_vertex_count = 0;
	glm::vec3 normal_vec = glm::vec3(0., 0., 0.);
	float normal_count = 0;
	vector<int>near_vertex;   //주변 점
	vector<int>near_face;   //테스트용 : near_face_2와 값이 같은지 확인하기 위함
 
	double calc_curv = 0;
	double calc_count = 0;
 
	double calc_curv2 = 0;
	double calc_count2 = 0;
};
vertex_info* vertexInfo;
vertex_info* vertexInfo2;

...

skycloud의 이미지

inverted page table 질문있습니다.

inverted page table 하나가 메모리 프레임에 일대일 대응된다고 알고있습니다.

그리고 원하는 프레임을 찾을 때에는 pid와 페이지 번호를 통해 프레임을 찾게 되구요.

그런데 서로 다른 프로세스가 동일한 프레임을 요청할 수 도 있잖아요?(공유 페이지처럼 다른 프로세스지만 같은 프레임을 가르키는)

그러면 inverted page table에는 pid가 여러개 저장될 수 있나요?

bong9의 이미지

리눅스 왜 작동이 안되는지??

#include
#include

int value = 5;

int main()
{
printf("%d*\n", getpid());
fork();

printf("%d**\n", getpid());
fork();

printf("%d***\n", getpid());
fork();

printf("%d****\n", getpid());

return 0;

}

책에 있는 내용을 작성해서 파일이름을 a1으로 하고 이파일을
gcc a1을 할려고 하니깐
ld: 치명적: 파일 a1: 알 수 없는 파일 유형
ld: 치명적: file processing errors. No output written to a.out
collect2: ld returned 1 exit status
이렇게 오류가 뜨네요 ㅠㅠ 제가 뭘 잘못한걸까 싶어서 이렇게 질문드립니다.

tjdgh4989의 이미지

디스크 논리블록 이해 도움 부탁드립니다..

컴퓨터 시스템 을 공부하는중에 여러 문제를 풀어보고있는데요

Q: 512바이트 논리 블록으로 이루어진 1MB 파일이 다음과 같은 특성을 같는 디스크 드라이브에 저장된다고 가정한다.
rotational rate: 13000 RPM
avg seek: 6ms
트랙당 섹터 : 5000
surfaces : 4
sector size : 512 bytes

풀이를 보니 파일이 10,000 개의 512 바이트 논리 블록으로 이루어져있다고 설명하는데

512bytes = 0.5kb
2000*0.5kb = 1000kb
1000kb = 1mb 이므로

2000개로 이루어져야 될꺼같은대 왜 10,000개의 블록으로 이루어지는지 아시는분 계실까요...?

페이지

프로그래밍 QnA 구독하기