반응형

c 16

호스트된 구현에서 크기(int)가 1이 될 수 있습니까?

호스트된 구현에서 크기(int)가 1이 될 수 있습니까? C은 특정 제견는 C 이현 특사만의 을 만족시킬 수 입니다.stdio특히 함특수(히))fputc/fgetc) 만약sizeof(int)==1래 부터.int인 의가한값수있합니능어 야 보 다 할 유 을 합unsigned char또는EOF이 (-1). 이추이 맞까니습론?까? (분명히분히)sizeof(int)다음의 경우 1이 될 수 없습니다.CHAR_BIT 이는 의최필 입인범해 8니다의 입니다.int그래서 우리는 암묵적으로 구현에 대해서만 이야기하고 있습니다.CHAR_BIT>=16를 들어, 구현이 입니다.stdio.) 편집: 답변과 일부 링크 참조를 읽은 후 호스팅된 구현에 적합한 방법에 대한 몇 가지 생각sizeof(int)==1: 먼저, 몇 가지 인용문..

programing 2023.07.10

문자열 배열 초기화

문자열 배열 초기화 올바른 초기화 방법은 무엇입니까?char**적용 범위 오류가 발생함 - 시도 시 UNinIT(초기화되지 않은 포인터 읽기) char **values = NULL; 또는 char **values = { NULL }; 이 예제 프로그램은 C 문자열 배열의 초기화를 보여줍니다. #include const char * array[] = { "First entry", "Second entry", "Third entry", }; #define n_array (sizeof (array) / sizeof (const char *)) int main () { int i; for (i = 0; i < n_array; i++) { printf ("%d: %s\n", i, array[i]); } retur..

programing 2023.06.25

순수 C로 구현된 MVC

순수 C로 구현된 MVC C 컨텍스트에서 모델 뷰 컨트롤러 설계 패턴을 수행하려는 간단한 예를 제공하는 리소스를 아는 사람이 있습니까?특히 임베디드 시스템은? 명확하게 말하자면, 저는 C#, C++, Objective-C, Java, PHP 또는 더 높은 수준의 언어 예제에는 관심이 없습니다.저는 순수한 ansi C99나 심지어 C89로 이 디자인 패턴에 접근하는 방법에 대해 사람들이 어떻게 생각하는지 알고 싶습니다.공식 OOP 언어 구조가 부족하기 때문에 C에서 이것이 말이 안 되는 것은 아닐까요? 어떤 맥락에서: 제 동료들과 저는 Arm 기반 PSoC 칩으로 구동되는 임베디드 시스템을 연구하고 있습니다.우리는 하드웨어 설계와 PCB를 관리하고 있으며, 제품의 기능을 향상시키기 위해 소프트웨어 개발을 ..

programing 2023.06.25

i == (i = 2)의 결과는 무엇입니까?

i == (i = 2)의 결과는 무엇입니까? 다음 코드를 실행합니다. // In Java, output ##### public static void main(String[] args) { int i = 1; if(i == (i = 2)) { System.out.println("@@@@@"); } else { System.out.println("#####"); } } 그러나: // In C, output @@@@@,I did test on Clion(GCC 7.3) and Visual Studio 2017 int main(int argc, char *argv[]) { int i = 1; if(i == (i = 2)) { printf("@@@@@"); } else { printf("#####"); } ret..

programing 2023.06.20

pow() 함수를 사용하면 C에서 정의되지 않은 참조 오류가 발생합니다.

pow() 함수를 사용하면 C에서 정의되지 않은 참조 오류가 발생합니다. 다음 코드 비트가 C에서 작동하는 이유는 무엇입니까? int res = pow(2, 3); printf("%d\n", res); 반면에 다른 사람은 그렇지 않나요? int a = 2; int b = 3; int res = pow(a, b); printf("%d\n", res); 내가 노력해도 double a = 2; double b = 3; double res = pow(a, b); printf("%f\n", res); 나는 이해합니다. 'pow'에 대한 정의되지 않은 언급 내가 뭘 잘못하고 있는 거지?그것이 작동할 때, 그것은 계산이 컴파일러 자체에 의해 수행되었기 때문입니다(그리고 당신이 그것을 작성한 것처럼 이진법에 포함되었습..

programing 2023.06.10

cudaMalloc()가 포인터 투 포인터를 사용하는 이유는 무엇입니까?

cudaMalloc()가 포인터 투 포인터를 사용하는 이유는 무엇입니까? 를 들면, 들면를예,cudaMalloc((void**)&device_array, num_bytes); 이 질문은 이전에 질문을 받은 적이 있으며, 대답은 "왜냐하면cudaMalloc오류 코드를 반환합니다." 하지만 이해할 수 없습니다. 이중 포인터가 오류 코드를 반환하는 것과 무슨 관련이 있습니까?단순 포인터가 작업을 수행할 수 없는 이유는 무엇입니까? 내가 쓴다면, cudaError_t catch_status; catch_status = cudaMalloc((void**)&device_array, num_bytes); 는 「 」 「 」 「 」에 됩니다.catch_status그리고 할당된 GPU 메모리에 간단한 포인터만 돌려주면 충..

programing 2023.06.10
반응형