728x90
반응형

C언어 4

PintOS 프로젝트 1주차 [Threads / Priority Donation]

이전 Priority Scheduling과 이어지는 글이다.이 글에서는 저번 글에 이어서, Priority Donation을 구현하는 것을 메인으로 다룬다.  thread.hstruct thread {    /* Owned by thread.c. */    tid_t tid;                          /* Thread identifier. */    enum thread_status status;          /* Thread state. */    char name[16];                      /* Name (for debugging purposes). */    int priority;                       /* Priority. */    ..

[크래프톤 정글 5기] 입소 55일차, 대망의 PintOS 프로젝트 시작

벌써 입소 후 55일이 지나 3일 전 목요일부터 PintOS 프로젝트가 시작되었다. 이젠 정글의 일상에 적응할 대로 적응해서 크게 힘들거나 하는 건 없다. 아니 물론 힘들긴 하다. 하지만 못 버틸 정도는 아닌 수준이다. 지난 주 webproxy 주차는 나름 나쁘지 않은 성과였지만, 시간이 너무 부족해 web server만 만들고 메인 과제인 proxy서버를 구현하지 못 해서 아쉬움이 남았다. 구현하지 못 한 게 아니라 접근조차 못 했다. proxy 전 과제인 tiny web server 를 끝낸 후 복습하면서 블로그에 정리 글을 올렸더니 이미 수요일이 끝나 있었다. 이틀.. 아니 딱 하루만 더 있었더라도 proxy서버까지 끝낼 수 있었을 텐데. 아쉬움이 남는다. 그나마 위안이 되는 것은 다른 사람들도 나..

[크래프톤 정글 5기] week04 C언어 주차 두번째 날, C언어 문법, 포인터

선언(declaration)과 정의(definition) 선언(declaration) - 컴파일러가 참조할 식별자(identifier)의 이름을 알린다. - 식별자란 변수의 타입, 함수의 인자목록을 뜻하며 이름은 변수, 함수, 클래스의 이름 등을 뜻한다. - 선언은 메모리 영역 상에 올리지 않기 때문에 중복되어도 문제가 되지 않는다. extern int a; // 전역변수 선언 int add(int a, int b); // 함수 선언 class ClassId; // 클래스의 선언 정의(definition) - 식별자와 이름으로부터 코드를 생성한 것 - 정의는 고유해야 한다. 같은 식별자와 이름의 정의가 2개 이상이면 컴파일 에러 발생 int add(int a, int b) { // 함수의 정의 (함수 본..

[Visual Studio 2022] C언어 소스코드 하나만 실행하는 법, 프로젝트와 솔루션

C언어를 처음 시작하면 가장 먼저 만날 시련이라고 생각된다. 한 프로젝트에 main 함수는 1개밖에 존재할 수 없다고 오류가 뜨고, 다른 프로젝트를 만들어 실행하니 아까 실행했던 코드만 계속 실행되곤 한다. 해결방법은 main 함수의 이름을 바꾸거나, 빌드에서 제외하거나, 프로젝트에서 제외하거나 등등의 방법이 있지만 현업이 아닌 C언어 문법을 처음 학습하는 입장에서는 이 방법이 제일 편리한 것 같다. 바로 시작 프로젝트로 설정하는 것이다. 실행을 원하는 코드가 있는 "프로젝트"를 우클릭 해서 "시작 프로젝트로 설정" 을 누른다. 그러면 해당 프로젝트가 시작 프로젝트가 되며, 굵은 글씨체로 표시된다. 이렇게 설정한 후 Ctrl+F5 ( 디버깅하지 않고 실행 ) 을 누르면 원하는 코드가 실행될 것이다. 이게..

Development/C 2024.02.07
728x90
반응형