묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결홍정모의 따라하며 배우는 C언어
12.2 강의 질문있어요
안녕하세요.const char* str = “Constant string”; // str is a modifiable lvalue.str = “Second string”; // “Constant string” = “Second String” // imposiblestr[0] = ‘A’; //Error char str2[] = “String in an array”;str2[0] = ‘A’; // OK 문자열 포인터 개념이 좀 어렵게 느껴지네요.str[0] = ‘A’; 은 왜 안되는 건가요? 만약 포인터를 이용해서 0번째 배열에 원소를 저장하고 싶으면 어떻게 해야 하나요?
-
해결됨CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel
gpu-add.cu 부분에서 커널 lanch 이후 cudaDeviceSynchronize() 부분 질문이요
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 선생님 좋은 강의 잘 듣고 있습니다. 강의 부분에 질문이 하나 있어 이렇게 남깁니다.kernel 을 launch한 이후에 cudaDeviceSynchronize() 를 call 해주는 이유가 kernel의 작업 완료를 보장하기 위함이라는 사실은 인지하고 있습니다.그런데, 그 아래 부분에서 cudaMemcpy를 해주기 때문에 저 부분이 생략해도 되지 않나 싶어서 질문을 남깁니다. memcpy가 저번 강의 때, kernel 작업 완료 후에 이뤄진다고 말씀하셨던 부분이 있어서, cudaDeviceSynchronize() 을 이번 예제에서 빼도 상관 없지 않을까해서 질문드립니다. 좋은 강의 감사합니다.
-
미해결혼자 공부하는 C 언어 저자에게 배우는 C 언어의 모든 것
7.1 함수의 작성과 사용
설명해주신 내용중에 main 함수와 sum 함수에 모두 res라는 정수형 변수가 사용되는데 main 함수와 sum 함수에 있는 res를 다른걸로 봐야할까요 아니면 같은것으로 봐도 되나요? 다른 것으로 봐야한다면 두개의 변수를 다르게 표현해야하지 않나요?
-
해결됨홍정모의 따라하며 배우는 C언어
6-11 질문
안녕하세요! 다음 코드를 제 스스로 분석해봤는데, 정확한 분석이 맞는지 헷갈려서 질문드립니다.(1)Comma 연산자는 Assignment 연산자보다 서열이 낮은 것으로 알고 있습니다.1번 예시에서 콤마가 작동하는 시기는 z에 x의 값이 대입되고, y에 값 2가 대입된 뒤인가요?콤마 연산자는 왼쪽에서 오른쪽으로 계산을 하는데, 이미 대입연산자에 의해 각각 값이 대입된 변수 z와 y를 또 계산한다는 것이 잘 이해되지 않습니다.이 경우의 콤마 연산자의 계산이란 무엇인지 알려주시면 감사하겠습니다. (2)1번 예시와 2번 예시의 차이점은 무엇이 먼저 계산되느냐 일까요?즉 1번 예시에서는 x에 1이 대입되고, 그 값이 다시 x에 대입된 뒤, y에 2가 대입되고, 콤마 연산자가 작동한다면, 2번 예시에서는 x에 1이 대입되고, y에 2가 대입된 뒤, x의 값이 z에 대입되고, 콤마 연산자가 작동하는 건가요? 늘 친절한 답변 감사합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
6-10. 어셈블리 질문!
안녕하세요. 강의에서 일반문과 그것의 축약문의 어셈블리 비교를 통해 효율성을 체크했습니다.그냥 보면 둘은 똑같아 보였는데, 자세히 보니 끝에서 두 자리가 다르더군요.이건 제 단계에서 크게 신경쓰지 않아도 되는 것 같은데, 그래도 궁금해서 질문드립니다.일반문과 축약문의 어셈블리가 완전 같지는 않은데, 저 정도는 효율성을 따지는데 있어 굳이 신경 쓰지 않아도 되는 건가요?
-
해결됨Windows 시스템 프로그래밍 - 기본
친화력 조절 (꼼수)에 관한 질문입니다.
안녕하세요 선생님 꼼수관련 질문이 2개 있습니다.1) 문제가 생긴 프로그램이 multi threading 때문에 context switching이 자주 일어나서 2시간만 지나면 고장나는 것인가요?2) 이를 하나의 프로세스로 고정시키면 여전히 context switching 이 일어나더라도 cpu core가 완전히 바뀌는게 아니라 좀 더 손쉬운 context switch가 일어나서 부하가 덜간다... 이런 느낌으로 이해하면 맞을까요?
-
해결됨Windows 시스템 프로그래밍 - 기본
GetString 에서 free하지 않고 가져오기만 했을 때는 동기화가 필요없나요?
강의에서 GetString 도 free(...) 를 호출하고 = NULL; 을 호출하기에 WRITE 요소가 있어 동기화가 필요하다 얘기해주셨는데 그렇다면 정말 sprintf_s 로 버퍼를 복사해오는 읽기만 있다면 GetString 함수를 동기화할 필요가 없나요? 두 Worker Thread에서 free(...) 를 호출한 이후에 Main Thread 에서 그 값을 버퍼로 복사해오는 읽기 작업을 한다면 제대로된 문자열을 복사해오지 않을 수 있을 것 문제가 발생할 수 있어보여서여A Thread는 WRITE / B Thread는 READ 만 했을 때 READ함수에는 동기화를 하지 않아도 되는지 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
6-4 강의 질문
안녕하세요. 관계 연산자 3번 예시를 공부하다 문자를 입력받으면 무한루프에 빠지는 정확한 이유가 뭔지 궁금해서 질문드립니다.변수 guess는 double type이기 때문에 문자를 받을 수 없는 것은 이해했습니다.그런데 왜 문자를 넣으면 무한루프에 빠지는지 모르겠습니다.디버깅을 해보니 guess는 처음 입력된 '3'이 계속 저장돼 있는데, 이것과 관련이 있는 걸까요?
-
해결됨홍정모의 따라하며 배우는 C언어
표현식의 자료형
안녕하세요. 5-11 형변환을 공부하다가 궁금한 점이 생겨 질문드립니다.13행에서 변수 i에, 강제로 float로 변환된 표현식 'f + 2 * c;'의 값이 저장되는 것으로 이해했습니다.cpu는 다른 자료형들을 연산할 수 없기 때문에 컴파일러가 표현식의 자료형을 동일하게 변환시키는 것은 이해됩니다.그런데 변할 때 피연산자들 중 상대적으로 더 큰 자료형을 갖는 피연산자에 맞춰 변환되는 것인가요?즉 13행의 경우는 실수 자료형을 갖는 변수 f가 정수인 '2 * c' 보다 더 큰 자료형이기 때문에 두 피연산자를 더한 값의 자료형이 float가 되는 것인가요?늘 좋은 답변 감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어
강의 4:29 0.01f 위에 커서를 올렸을 때
강의의 경우 (float)(0.009999999776F)라고 뜨는데왜 저는 그냥 단순하게 (flat)(0.01F)라고 뜰까요?비쥬얼스튜디오에서 따로 설정해야하는건가요?
-
해결됨홍정모의 따라하며 배우는 C언어
5-6. 괄호에 대한 질문
안녕하세요. 연산자의 우선순위에 대해 설명하실 때 강의에서 말하는 ()는 operator가 아니라 primary expression이라고 하셨습니다.강의의 ()는 operator가 아닌데, 어떻게 연산자 우선순위를 설명할 때 포함될 수 있는지 모르겠습니다. 늘 좋은 강의, 답변 감사합니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
SECURITY_ATTRIBUTES 구조체 # 0:49 쯤 에 질문있습니다.
안녕하세요 선생님 질문이 있습니다.제가 자바의 intellij에 익숙해서 선생님이 하신것 처럼 _SECURITY_ATTRIBUTES#lpSecurityDescriptor 다음에 SECURITY_DESCRIPTOR 로 넘어가시는데 1번째 구조체에서 뭘 참조해서 넘어가신것인가요? 1번째 구조체는 CreateProcess를 타고 들어가서 찾을 수 있었는데 2번째 구조체는 ctrl+shift+f로 밖에 못찾겠습니다. 어떻게 연결되는것인가요?아니면 연결이 안되고 그냥 별도의 구조체로 존재한다 봐야하나요?
-
해결됨독하게 되새기는 C 프로그래밍
스택 쓰레기 값? 관련 질문 드립니다.
안녕하세요 강사님. 좋은 강의 감사합니다.강의 잘 보고 있습니다.질문이 있는데요.32비트던 64비트던 똑같이 스택 메모리에 쓰레기 값?이 있는 것이 이해가 안되서 질문 드립니다.0x00000008F9AFF924 03 00 00 00 cc cc cc cc 0x00000008F9AFF92C cc cc cc cc cc cc cc cc 0x00000008F9AFF934 cc cc cc cc cc cc cc cc 0x00000008F9AFF93C cc cc cc cc cc cc cc cc 0x00000008F9AFF944 04 00 00 00 cc cc cc cc0x00000008F9AFF94C cc cc cc cc cc cc cc cc 0x00000008F9AFF954 cc cc cc cc cc cc cc cc0x00000008F9AFF95C cc cc cc cc cc cc cc cc 0x00000008F9AFF964 cc cc cc cc 10 00 00 00 0x00000008F9AFF96C 20 00 00 00 30 00 00 00 0x00000008F9AFF974 40 00 00 00 50 00 00 00 진하게 표시한 것이 변수 값입니다.여기서 이해가 안되는 것이 int a = 3, int b = 4;를 실행하면 스택 메모리에 아래처럼 저장되는게 아니라 위처럼 띄엄 띄엄 저장되나요?0x00000008F9AFF924 03 00 00 00 04 00 00 00
-
미해결홍정모의 따라하며 배우는 C언어
10.16 다차원 배열을 함수에게 전달해주는 방법
강의 시간 6:20부터 #define ROWS 3 #define COLS 4 int sum2d_1(int ar[ROWS][COLS]); "ROWS를 넣어주더라도 내부적으로는 사용할 수 없고,이 정보는 정의하는 함수로 전달이 안된다.근데 배열을 선언할때 symbolic constant를 사용하는 경우가 대부분 그래서 이걸(ROWS) 이용해서 밑에서 접근할 수 있다." 여기서 밑에서 접근할 수 있다는 말이 int main() { int data[ROWS][COLS] = { {1,2,3,4}, {5,6,7,8}, {9,0,1,2} }; printf("%d\n", sum2d_1(data)); return 0; } int sum2d_1(int ar[ROWS][COLS]) { int r, c, tot = 0; for (r = 0; r < ROWS; r++) for (c = 0; c < COLS; c++) tot += ar[r][c]; return tot; }for문에 있는 ROWS가 위에서 define으로 이미 정의되어 있기 때문에 사용할 수 있다는 말인가요??
-
해결됨홍정모의 따라하며 배우는 C언어
double 일때 절삭
double d = 3.14159265358979323846264printf("%f %f %lf\n", 3.141592f, d, d);컴파일 하면 3.141592 3.141593 3.141593으로 나오는데 그 이유가 무엇인가요..?왜 저 뒤에가 3이 된건가요?
-
해결됨Windows 시스템 프로그래밍 - 기본
스레드에 대한 기본 이론에서
14:33 에서 idle time 개념을 잘모르겠습니다
-
해결됨독하게 되새기는 C 프로그래밍
안녕하세요. 질문 드립니다.
안녕하세요.강의를 몽땅.. 다 담아서 열심히 수강하고 있는 한 학생입니다.^^학습한 내용을 제대로 이해했는지 확인 하고 싶어 질문 남깁니다. OS도 결국 명령어와 데이터의 조합으로 이루어진 이진수 binary 파일인 프로그램에 불과하며disk에 저장되어 부팅 시 부트 로더에 의해 RAM으로 LOAD 되는 것이며,이 때 커널은 항상 고정 크기를 가지며 파편화가 되지 않습니다.(메모리 가상화를 OS가 해주므로)즉, 커널은 연속된 메모리 공간에 쌓입니다.프로세스들은 이 커널 영역을 공유 사용하며, 저장된 가상 메모리 테이블 등에 의해 맵핑 되구 syscall을 할 수 있습니다.또한 VMWare 등의 프로그램을 통해 가상 머신을 돌릴 때도 커널은 고정 크기를 가집니다.VM에서 실행할 때, RAM 용량 설정, Thread 갯수 설정 등의 옵션이 있는데4코어 8GB 환경이라면 VM에 2코어 4GB를 지정해주면이를 딱 조절해서 HOST와 Virtual OS는 자원을 반 씩 나눠 쓰는 개념이기 때문이고, 가상 OS 상에서의 프로세스들은 Virtual OS에 의해 가상 메모리를 관리 받습니다.검색과 고민 끝에 이렇게 이해를 했는데 잘 한 것이 맞는지,잘못된 부분이나 조언해주실 것이 있다면 부탁드리겠습니다.^^항상 잘 듣고 있습니다.감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어
부록 무료 이벤트는 끝난건가요?
관련 링크가 사라졌던데 이제는 끝난건가요?
-
미해결HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
선택사항을 실행할 수 없으며 최신 실행 작업이 없습니다. 질문
[GPIO로 LED출력 및 스위치 입력] 수업을 따라서 공부하고 있습니다. 그런데 디버깅을 하니 실행할 수 없음의 창이 뜨며 "선택사항을 실행할 수 없으며 최신 실행 작업이 없습니다." 라고 뜨는데 프로그램 설치를 잘못한걸까요?? ㅠㅠ
-
해결됨독하게 되새기는 C 프로그래밍
overrun 예시 문제에 대한 질문있습니다.
강사님 강의 OVERRUN 예제를 보며 똑같이 해보려고 하는데 overrun 경고를 잡고 실행을 중단한것으로 판단됩니다.무시하고 실행하는 방법이 있을까요?