반응형

C 117

C의 구조 크기

C의 구조 크기 이 질문에는 이미 답변이 있습니다. 닫힘12년 전에요 중복 가능성: 구조물의 크기가 각 부재의 크기 합계와 같지 않은 이유는 무엇입니까? 다음 C 코드를 고려합니다. #include struct employee { int id; char name[30]; }; int main() { struct employee e1; printf("%d %d %d", sizeof(e1.id), sizeof(e1.name), sizeof(e1)); return(0); } 출력은 다음과 같습니다. 4 30 36 구조물의 크기가 개별 성분 변수의 크기 합계와 같지 않은 이유는 무엇입니까?컴파일러는 정렬 요건에 대한 패딩을 추가할 수 있습니다.이는 구조체 필드 사이의 패딩에만 적용되는 것이 아니라 구조체 끝에도..

sourcecode 2022.08.03

이 네 줄의 까다로운 C 코드 뒤에 있는 개념

이 네 줄의 까다로운 C 코드 뒤에 있는 개념 코드가 하는 이유는 입니까?C++Sucks그배배 는는 ?념? ??? ??? #include double m[] = {7709179928849219.0, 771}; int main() { m[1]--?m[0]*=2,main():printf((char*)m); } 여기서 테스트해 보세요. ★★7709179928849219.0 64비트로서 .double: 01000011 00111011 01100011 01110101 01010011 00101011 00101011 01000011 +^^^^^^^ ^^^^---- -------- -------- -------- -------- -------- -------- +.^ 그리고 수의 -가즉 ( 즉즉 、 수의의 ) 。 표..

sourcecode 2022.08.03

C를 사용하여 Linux에서 CPU 수를 얻는 방법

C를 사용하여 Linux에서 CPU 수를 얻는 방법 Linux에서 사용할 수 있는 CPU의 수를 얻을 수 있는 API가 있나요?제 말은 /proc/cpuinfo나 다른 sys-node 파일을 사용하지 않으면... 이 실장은 스케치를 사용한 것입니다.h: int GetCPUCount() { cpu_set_t cs; CPU_ZERO(&cs); sched_getaffinity(0, sizeof(cs), &cs); int count = 0; for (int i = 0; i < 8; i++) { if (CPU_ISSET(i, &cs)) count++; } return count; } 하지만 일반 도서관을 이용하는 것보다 더 높은 수준은 없나요?#include #include int main(int argc, ch..

sourcecode 2022.08.01

printf()를 사용하여 열거형 값을 표시할 수 있습니까?

printf()를 사용하여 열거형 값을 표시할 수 있습니까? 열거형의 현재 값을 출력할 수 있는 단일 라이너가 있습니까?끈으로 말하면 안 돼정수로 %d. 세지 않는 한: static char* enumStrings[] = { /* filler 0's to get to the first value, */ "enum0", "enum1", /* filler for hole in the middle: ,0 */ "enum2", "enum3", .... }; ... printf("The value is %s\n", enumStrings[thevalue]); 이것은 비트 마스크의 열거와 같은 경우에는 작동하지 않습니다.이 시점에서 해시 테이블 또는 기타 보다 정교한 데이터 구조가 필요합니다.enum MyEnum {..

sourcecode 2022.08.01

.txt 파일에 쓰시겠습니까?

.txt 파일에 쓰시겠습니까? 어떻게 하면 작은 글을 쓸 수 있을까요?.txt파일이요? 검색한 지 3~4시간이 넘었는데 어떻게 하는지 모르겠어요. fwrite();말싸움이 너무 많아서 어떻게 써야 할지 모르겠어요. 이름과 몇 개의 숫자만 쓰고 싶을 때 가장 사용하기 쉬운 기능은 무엇입니까?.txt파일링? char name; int number; FILE *f; f = fopen("contacts.pcl", "a"); printf("\nNew contact name: "); scanf("%s", &name); printf("New contact number: "); scanf("%i", &number); fprintf(f, "%c\n[ %d ]\n\n", name, number); fclose(f); FI..

sourcecode 2022.08.01

인라인 기능을 사용할 때와 사용하지 않을 때?

인라인 기능을 사용할 때와 사용하지 않을 때? 인라인은 컴파일러에 대한 힌트 또는 요청이며 함수 호출 오버헤드를 피하기 위해 사용됩니다. 그렇다면 어떤 기준으로 어떤 기능이 인라인의 후보인지 여부를 결정할 수 있을까요?어떤 경우에 인라인 접속을 피해야 합니까?함수 호출 비용을 회피하는 것은 절반에 불과합니다. 다음 작업을 수행합니다. 사용하다inline대신#define 매우 작은 기능들은 좋은 후보이다inline: 더 빠른 코드와 더 작은 실행 파일 (코드 캐시에 더 많은 기회가 있음) 함수는 작고 매우 자주 호출된다 하지 않음: 큰 함수: 실행 가능한 파일이 커집니다.콜 오버헤드로 인한 고속 실행과 관계없이 퍼포먼스가 크게 저하됩니다. I/O 바인딩된 인라인 함수 그 기능은 거의 사용되지 않는다 컨스트..

sourcecode 2022.08.01

64비트 머신의 사이즈(int)는 어떻게 해야 합니까?

64비트 머신의 사이즈(int)는 어떻게 해야 합니까? 이 질문에는 이미 답변이 있습니다. 닫힘9년 전. 중복 가능성: int, long 등의 크기 int의 크기는 컴파일러나 프로세서에 따라 달라집니까? 정수의 크기를 결정하는 것은 무엇입니까? 사용하고 있습니다.64-bit기계. $ uname -m x86_64 $ file /usr/bin/file /usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped $ 제가 다음 프로그램을 실행했을 때sizeof(int)~하듯이4-bytes. #include int main(vo..

sourcecode 2022.08.01

"v[0] = name-of-module"이 일반적인 표준입니까? 아니면 일반적인 규약입니까?

"v[0] = name-of-module"이 일반적인 표준입니까? 아니면 일반적인 규약입니까? 를 " " " 에 할 때main() C에서는 C는 C++ 어플리케이션의argv[0]상상실실실일파일??????아니면 이것은 단지 일반적인 관례일 뿐 100% 진실이라고 보장되지 않는 것인가? 추측 작업(교육받은 추측 작업도 가능)은 재미있지만, 확실히 하기 위해서는 표준 문서를 참조할 필요가 있습니다.예를 들어 ISO C11은 다음과 같이 기술되어 있습니다(나의 강조점). 「」의 argc 0이 입니다.argv[0] 프로그램명을 나타냅니다.argv[0][0]호스트 환경에서 프로그램 이름을 사용할 수 없는 경우 null 문자가 됩니다. 따라서 해당 이름을 사용할 수 있는 경우에만 프로그램 이름입니다.또한 프로그램 이..

sourcecode 2022.08.01

gdb에서 백슬래시 이스케이프를 표시하지 않고 늘 종단 문자열과 줄 바꿈을 인쇄하려면 어떻게 해야 합니까?

gdb에서 백슬래시 이스케이프를 표시하지 않고 늘 종단 문자열과 줄 바꿈을 인쇄하려면 어떻게 해야 합니까? 변수가 있습니다. char* x = "asd\nqwe\n ... " 그리고 백슬래시가 아닌 새로운 행으로 인쇄하고 싶습니다.가능합니까?업데이트: gdb만 사용하는 것은 어떨까요?printf명령어? (gdb) printf "%s", x asd qwe ... (gdb) 오래된 답변: 디버거 내에서 명령을 실행할 수 있습니다.그냥 전화하세요.printf (gdb) call printf("%s", x) asd qwe ... (gdb) 문자열 지정자를 사용합니다. print /s x 언급URL : https://stackoverflow.com/questions/1530736/how-to-print-a-nul..

sourcecode 2022.08.01

투명 배경을 사용하여 OpenGL 렌더링 컨텍스트를 만드는 방법

투명 배경을 사용하여 OpenGL 렌더링 컨텍스트를 만드는 방법 렌더링 컨텍스트의 배경은 보통 단색입니다(검은색이든 뭐든 아래 이미지 참조). OpenGL을 렌더링하면서 데코레이션 없이 투명 배경의 창을 셋업할 수 있는지 궁금합니다. 이렇게 하면 화면에 삼각형이 떠 있는 것 같은 착각을 하게 됩니다.투명 배경에서 바탕 화면이나 그 뒤에 있을 수 있는 다른 응용 프로그램을 볼 수 있어야 합니다. 소스코드를 예로 들어주시겠습니까? 플랫폼: Windows (win32 한정)이 문제에 대한 도움을 얻기 위해 성공적이지 못한 장려금에 약간의 평판을 쓴 후, 나는 마침내 내가 관심 있는 문제가 얼마나 복잡한지 깨달았다. 이 일을 해낸 몇 안 되는 사람들은 별로 공유하지 않는다.연구 중에 나는 내가 찾던 것을 성취하..

sourcecode 2022.08.01
반응형