inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

왜 변수 주소 사이에 offset이 있는 건가요?

해결됨

독하게 되새기는 C 프로그래밍

매개변수를 아래 처럼 선언하고 void Add (int a, int b, int c) 메모리 창에서 보면 중간에 빈 곳 없이 3개가 연속으로 채워져 있는데 32비트 환경에서 지역 변수로 int a = 1, b = 2; 이렇게 선언을 하면 중간에 cc cc 이런 값들이 채워져 있고 12바이트 만큼 서로 떨어져 있는데요 왜 이런 현상이 발생하는 건가요? 중간에 cc로 채워진 부분은 딱히 사용하는 것 같지는 않은데 낭비가 되지는 않나요?

  • c
  • kernel
  • secure-coding
gya9877 댓글 2 좋아요 0 조회수 328

비동기 Callback방식 코드 질문

해결됨

Windows 시스템 프로그래밍 - 기본

#include <iostream> #include <windows.h> #include <stdio.h> #include <tchar.h> void CALLBACK FileIoComplete( DWORD dwError, DWORD dwTransferred, LPOVERLAPPED pO1) { printf("FileIoComplete() Callback - [%d 바이트] 쓰기 완료 -%s\n", dwTransferred, (char*)pO1->hEvent); //hEvent 멤버를 포인터로 전용했으므로 가리키는 대상 메모리를 해제한다. //이 메모리는 IoThreadFunction() 함수에서 동적 할당된 것들이다! delete[](char*)pO1->hEvent; delete pO1; puts("FileIoComplete() - return \n"); } DWORD WINAPI IoThreadFunction(LPVOID pParam) { //메모리를 할당하고 값을 채운다. //이 메모리는 완료 함수에서 해제한다. char* pszBuffer = new char[16]; memset(pszBuffer, 0, sizeof(char) * 16); strcpy_s(pszBuffer, sizeof(char) * 16, "Hello IOCP"); // Allocate and initialize the OVERLAPPED structure. //OVERLAPPED 구조체의 hEvent 멤버를 포인터 변수로 전용한다! LPOVERLAPPED pOverlapped = NULL; pOverlapped = new OVERLAPPED; memset(pOverlapped, NULL, sizeof(OVERLAPPED)); pOverlapped->Offset = 1024 * 1024; //일부러 사이즈 작게 했습니다. pOverlapped->hEvent = pszBuffer; //pOverlapped->hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); // Manual-reset event //비동기 쓰기를 시도한다. //쓰기가 완료되면 완료 함수가 역호출된다. puts("IoThreadFunction() - 중첩된 쓰기 시도"); ::WriteFileEx((HANDLE)pParam, pszBuffer, sizeof(char) * 16, pOverlapped, FileIoComplete); // 함수의 주소를 쓸 수 있다. for (; ::SleepEx(1, TRUE) != WAIT_IO_COMPLETION;); { //SleepEx를 호출한 WorkerThread가 ALERTABLE_WAIT 상태가 된다/ puts("IothreadFunction() - return "); } return 0; } int tmain(int argc, TCHAR* argv[]) { HANDLE hFile = ::CreateFile(_T("TestFile.txt"), GENERIC_READ, //쓰기 모드 0, //공유 하지 않음 NULL, CREATE_ALWAYS, //무조건 생성 FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, //중첩된 쓰기->비동기 쓰기 NULL); HANDLE hThread = NULL; DWORD dwThreadID = 0; hThread = ::CreateThread( NULL, 0, IoThreadFunction, hFile, 0, &dwThreadID); WaitForSingleObject(hThread, INFINITE); } 강사님 위와 같이 코드를 작성해서 비동기 call back 방식으로 시도하려고 하는데, Hello IOCP가 쓰여지지 않고 종료도 되지 않는데, 뭔가 오류가 있는 부분이 있나요? 또, 자동으로 종료도 되었으면 하는데, 가능한가요? 어떻게 수정하면 좋을까요? 혹시 예제 코드를 공유할 수 있다면 가능한가요? 감사합니다.

  • c
  • system-programming
  • vc++
댓글 4 좋아요 1 조회수 408

예제파일 불러오기

해결됨

독하게 시작하는 C 프로그래밍

문자 입출력 강의처럼 클래스 뷰에 예제 파일들을 쭉 뜨게 하는 방법을 모르겠습니다..!!

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
yorion 댓글 1 좋아요 0 조회수 420

5분 20초경 질문

해결됨

홍정모의 따라하며 배우는 C언어

영상에서 5분 20초경에 int는 4바이트인데 여기에 쌓인 것은 보니까 차이가 4가 나는 게 아니고 더 큰 숫자만큼 차이가 나고있죠라고 말씀을 하시는데 쌓였다는 것이 n의 주소번호가 쌓인 거라고 말씀하시는 게 맞죠? 근데 이걸 왜 쌓였다고 표현하는지 이해가 안됩니다. 스택을 쌓을 때 변수가 사용할 메모리가 쌓이게 된다고 했던 거 같은데 메모리가 아닌 메모리의 주소를 쌓인다고 표현하는 게 이해가 안됩니다. 그리고 int는 4바이트인데 여기에 쌓인 것은 보니까 차이가 4가 나는 게 아니고 라고 말씀을 하시는데 int가 4바이트인 것과 주소번호의 숫자가 차이가 4가 날거라고 예상하는 것이 무슨 연관이 있는 건지 이해가 안됩니다. 연관이 있으니 연관이 있는 것처럼 말씀을 하시는 거라 생각은 하는데 도통 이해가 안되네요.

  • c
용개형멋져 댓글 1 좋아요 2 조회수 244

매개변수화 라는게 무슨 뜻 인가요?

해결됨

홍정모의 따라하며 배우는 C언어

5.12 함수의 인수와 매개변수 강의에도 언급이 돼있길래 봤는데 통 이해를 못하겠어요 함수가 매개변수화 되었다? 매개변수는 함수 선언할 때 void function(void)에서 괄호안에 들어가는게 매개변수 아닌가요? 저는 이 매개변수가 인자를 받아오는 그릇으로 이해를 하고 있는데 이게 매개변수화 되었다는 거랑 연결이 잘 안되네요

  • c
용개형멋져 댓글 1 좋아요 1 조회수 1432

완강 후 실습 관련 질문

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요! 항상 좋은 강의 만들어 주셔서 감사합니다. 이번에 독하게 시작하는 C를 완강하고 자료구조를 듣는 중입니다. 그런데 C언어를 완강해도 능숙하게 다룰 수 있다는 느낌이 들지 않아서 C 코딩 예제를 플어보고 싶은데 혹시 추천해주실 만한 예제 사이트나 교재가 있으신가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
이제제 댓글 3 좋아요 0 조회수 442

IIS 500.19에러

미해결

남박사의 파이썬으로 실전 웹사이트 만들기

구글로 먼저 배포 해보고 잘 되서 IIS로 배포해보려고 하는데 다음과 같이 나옵니다 handler도 Allow로 바꿨고 web.config는 그대로 복사하고 경로도 확인했는데 뭐가 문제일까요...ㅠㅜㅠ

  • python
Eddie 댓글 2 좋아요 0 조회수 675

Stolen 마지막부분 오류 질문입니다

미해결

홍정모의 따라하며 배우는 C언어

아무리봐도 똑같이 따라쓴것 같지만 오류가 있다고 뜹니다 ㅠㅠ

  • c
9988kyunghyun 댓글 1 좋아요 1 조회수 313

mingw-w64 폴더 설치 중 에러

해결됨

홍정모의 따라하며 배우는 C언어

2시간동안 꼼지락 거리다가 이상한 폴더에 mingw-w64가 숨어있는 것을 발견하였습니다! 왜인지는 모르겠으나 과거에 C언어 코딩 독학용으로 깔았던 Dev-Cpp(데브씨플플) 폴더 안에 MinGW64라는 이름으로 있는 것 아니겠어요?! 그리고 열어본 결과 존재 합디다... 그래서 신나서 글을 쓰던 도중 '어? 이거 지우고 다시 깔면 에러가 안 뜨지 않을까?' 해서 지워봤습니다 안 되더라구요... 다시 방황하던 중 msys2를 설치하라는 답변글을 보고 설치했었던 msys2 폴더에서 자포자기한 심정으로 gcc.exe를 검색해 봤습니다 그런데 요녀석이 ucrt64\bin 안에도 숨어있더라구요! 그래서 이번에는 실험 그딴거 안하고 바로 연결했습니다

  • c
최승원 댓글 1 좋아요 2 조회수 417

개정판 출판 계획

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요. 개발자는 아니지만 업무 능력 고도화를 위해 강의를 수강하고 있는 직장인입니다. 독하게 시작하는 C프로그래밍 2015년판이 절판되었고, 강의 소개에 최신 개정판을 위한 강의라고 돼 있는데 혹시 최신 개정판 출판 계획과 예상 일자가 있는 것인가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
okaysungnam 댓글 2 좋아요 1 조회수 351

강의자료 부탁 드립니다~

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요, 강의자료 부탁 드려도 될까요? fbyksong@gmail.com 입니다.

  • python
댓글 1 좋아요 0 조회수 265

섹션 14. 사용자 함수 필수 실습 문제

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요! 여기서 세 정수를 입력받는 함수를 사용자 함수로 만드는 과정에서 어려움이 있습니다.. 입력받는 함수는 main에 넣으면 쉬운데 이렇게 3개 정수를 넣으려니 계속 막혀요ㅠㅠ

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
dhwkdrns99 댓글 2 좋아요 0 조회수 338

3.12 강의 수학적으로 존재하지 않는 식을 강행했을 때

미해결

홍정모의 따라하며 배우는 C언어

안녕하세요. 비주얼 스튜디오에서 선생님과 똑같이 asinf() 코드를 작성하고 실행을 했는데 선생님 화면에서 나온 1.570796 -nan(ind) 대신에 8096.000000 8096.000000 이렇게 나옵니다. 뭐가 잘못된걸까요?

  • c
qptm 댓글 1 좋아요 1 조회수 264

오류 메세지

미해결

실전 프로젝트로 배우는 데이터 앱 만들기 with Python & Streamlit

안녕하세요~~ 루비네 코딩 입니다 ^^ 최근 앱을 런칭할 때 다음과 같은 오류가 발생하고 있습니다. ModuleNotFoundError: No module named 'altair.vegalite.v4' 이런경우, 다음과 같이 altair 패키지의 버전을 바꾸어 설치해 주세요 ^^ 감사합니다~ pip uninstall altair pip install altair==4.2.2

  • python
  • streamlit
루비네 코딩 댓글 2 좋아요 1 조회수 919

11.2강 19:43 질문이 있습니다.

해결됨

홍정모의 따라하며 배우는 C언어

공부한 내용을 테스트해보려고 다음 코드를 작성했습니다. #include <stdio.h> #include <stdlib.h> int var_global_initialized = 1; int var_global_uninitialized; void func_test(); int main(void) { // 값이 저장되는 메모리 영역과 그 주소 // Code 영역 printf("%llu [Code]\n", (unsigned long long)"I am a String."); // Data 영역 printf("%llu [Data]\n", (unsigned long long)&var_global_initialized); // BSS 영역 printf("%llu [BSS]\n", (unsigned long long)&var_global_uninitialized); // Heap 영역 char* var_dynamic = (char*)malloc(sizeof(char) * 100); printf("%llu [Heap]\n", (unsigned long long)var_dynamic); // Stack 영역 func_test(); return 0; } void func_test() { int var_local = 0; printf("%llu [Stack]\n", (unsigned long long)&var_local); }; 메모리 영역 별 간격이 너무 작게 출력되는데 올바르게 작성한게 맞을까요..?? 참조 온라인 컴파일러 링크 문자열 리터럴이 저장되는 메모리 영역 링크 메모리 영역별 예제 코드 링크

  • c
쉽지않네 댓글 1 좋아요 2 조회수 244

서보모터 질문

미해결

HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌

안녕하세요 강사님! 아래 서보모터 관련 질문을 썼던 학생입니다:) 같은 문제로 여러 번 질문드려 죄송합니다ㅠㅠ 강사님께서 말씀 주신대로 pwm 파형을 오실로스코프로 찍어봤는데 동작펄스폭 내에서 제대로 출력되고 있었습니다. 혹시 몰라 버튼을 누를때마다 펄스폭이 바뀌는 프로그램을 넣어서 실험해봤을 때도 펄스가 제대로 출력되고 있었습니다. 서보모터에 들어가는 전원 5v도 제대로 들어가는 것도 확인했는데, 서보모터가 동작하지 않습니다ㅠㅠ 근데 해당 서보모터를 아두이노 예제 프로그램으로 돌려보면 문제없이 돌아갑니다. 무엇이 문제인지 예상되는 원인이 있을까요?? 저는 아무리 생각해봐도 뭐가 문제인지 모르겠습니다ㅠㅠ 모터에 전원과 pwm만 제대로 인가되면 동작하는 것이 아닌가요? 사용하는 서보모터는 영상과 같은 sg90입니다!

  • c
  • iot
  • 드론-개발
규철 댓글 2 좋아요 0 조회수 376

메모리 할당 해제 방법에 대한 질문

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요 수업 잘 듣고 있습니다. malloc함수로 운영체제한테 메모리 공간을 받아온다고 배웠습니다. 이 때는 내가 사용할 메모리 크기을 명시하는데 free로 메모리를 해제할 땐 내가 받아온 메모리 크기를 명시하지 않는데 어떻게 컴퓨터는 할당해준 메모리를 정확하게 해제해줄 수 있나요? 따로 어디에 할당해준 메모리 크기를 저장해두는 건가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
조현준 댓글 1 좋아요 1 조회수 551

섹션 13 다차원 배열 필수 실습문제

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요!! 그 섹션 13 다차원 배열 필수 실습 문제에서 이 문제 혹시 답 좀 알 수 있을까요! 최대한 간단한 답을 알고 싶습니다!!

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
dhwkdrns99 댓글 2 좋아요 0 조회수 291

swap 함수에서 printf문 질문있습니다

미해결

홍정모의 따라하며 배우는 C언어

수업 내용의 프린트 구문은 void swap(int* u, int* v) { printf("%p %p\n", u, v); int temp = *u; *u = *v; *v = temp; } 이런식으로 되어있는데 u와 v에 &기호를 붙혀주면 a, b 와 주소가 다르게 나오는데 어떤 주소인지 잘 모르겠습니다..

  • c
cksgur 댓글 1 좋아요 1 조회수 329

인기 태그

인프런 TOP Writers

주간 인기글