반응형

C 25

C에 ()의 크기에 해당하는 비트가 있습니까?

C에 ()의 크기에 해당하는 비트가 있습니까? 비트 필드에 적용할 때는 ()의 크기가 작동하지 않습니다. # cat p.c #include int main( int argc, char **argv ) { struct { unsigned int bitfield : 3; } s; fprintf( stdout, "size=%d\n", sizeof(s.bitfield) ); } # gcc p.c -o p p.c: In function ‘main’: p.c:5: error: ‘sizeof’ applied to a bit-field ...obviously, 부동 소수점의 부분적인 크기 같은 것을 돌려줄 수 없기 때문입니다.하지만, 이것은 흥미로운 질문을 던졌습니다.C에 변수/타입의 비트 수를 알려주는 등가물이 있습..

programing 2023.10.12

"스트립"(GCC 응용프로그램)은 무엇에 사용됩니까?

"스트립"(GCC 응용프로그램)은 무엇에 사용됩니까? 이 작은 지원서는 무엇을 위한 것입니까? 옵션 없이 사용하면 실행 파일의 크기가 줄어드는데 어떻게/무엇을 합니까?(Mac OS X, 그러나 다른 것들은 유사합니다) man 페이지에서: strip은 어셈블러와 링크 편집기의 출력에 첨부된 심볼 테이블을 제거하거나 수정합니다.이 기능은 프로그램이 디버깅된 후 공간을 절약하고 동적으로 바인딩된 기호를 제한하는 데 유용합니다. 제거된 실행 파일을 디버깅하는 것은 실제로 매우 어렵기 때문에 "프로그램이 디버깅된 후"에 대한 부분을 주목하십시오."limit dynamic bounded symbol"은 실제 코드가 있는 위치를 알려주는 인덱스 항목을 제거하여 외부 라이브러리의 일부 기능에 액세스할 수 없게 만드는 ..

programing 2023.10.07

오토젠의 직업은 무엇입니까?Linux에서 c++ 패키지를 구축할 때 sh

오토젠의 직업은 무엇입니까?Linux에서 c++ 패키지를 구축할 때 sh 이 질문에는 이미 다음과 같은 답변이 있습니다. 스크립트 구성 및 Makefile.in 에 대해 혼란스럽습니다. (2개 답변) 닫힘5년 전에. 리눅스(Ubuntu 16.04)에서 소스에서 c/c++ 패키지를 설치할 때 일반적인 패턴을 볼 수 있었습니다. ./autogen.sh ./구성 만들다 설치하다 알겠습니다.make그리고.make install, 아마.configure사용자 환경설정을 기반으로 만들기 파일을 만들지만 이유를 알 수 없습니다.autogen.sh필요합니다. 거기에 무엇을 위한 것인지 아는 사람?단계: 그autogen.sh스크립트는 다음을 생성합니다.configure대본(발신)configure.ac, autocconf..

programing 2023.10.07

경량 C++ 이미지 라이브러리

경량 C++ 이미지 라이브러리 문 닫았습니다.이 질문은 충족되지 않습니다.스택 오버플로 지침.현재 답변을 받지 않고 있습니다. 책, 도구, 소프트웨어 라이브러리, 튜토리얼 또는 기타 외부 리소스를 추천하거나 찾을 것을 요청하는 질문은 의견을 제시하는 답변과 스팸을 끌어들이는 경향이 있기 때문에 스택 오버플로에서는 주제가 다릅니다.대신, 문제와 그것을 해결하기 위해 지금까지 무엇을 했는지 설명하세요. 9년전에 문을 닫았습니다. 이 질문을 개선합니다. C++를 위한 간단하고 작지만 강력하고 빠른(종합적이지 않은!) 이미지 라이브러리를 찾고 있었습니다(C++ 버전이 없다면 C로도 충분합니다). 제가 찾고 있는 주요 기능은 다음과 같습니다. 무료(오픈소스는 플러스) 속도에 맞게 제작됨 큰 기능성 팽만감 없음(예..

programing 2023.10.02

문자 간의 차이 *str="STRING"과 charstr[] = "STRING"?

문자 간의 차이 *str="STRING"과 charstr[] = "STRING"? 문자열에서 특정 문자를 제거하는 간단한 함수를 코드화하는 과정에서 이상한 문제가 발생했습니다. void str_remove_chars( char *str, char to_remove) { if(str && to_remove) { char *ptr = str; char *cur = str; while(*ptr != '\0') { if(*ptr != to_remove) { if(ptr != cur) { cur[0] = ptr[0]; } cur++; } ptr++; } cur[0] = '\0'; } } int main() { setbuf(stdout, NULL); { char test[] = "string test"; // st..

programing 2023.09.27

비트 필드 배열을 사용할 수 있습니까?

비트 필드 배열을 사용할 수 있습니까? 알고 싶은데 비트 필드 배열을 사용할 수 있나요.좋아요: struct st { unsigned int i[5]: 4; }; 아니, 그럴 수 없다.비트 필드는 적분형 변수에만 사용할 수 있습니다. C11- §6.7.2.1/5 비트 필드에는 다음과 같은 형식이 있어야 합니다._Bool,signed int,unsigned int, 또는 다른 구현 정의된 유형을 선택할 수 있습니다. 또는 이 작업을 수행할 수 있습니다. struct st { unsigned int i: 4; } arr_st[5]; 하지만 그것의 크기는 a의 크기의 5배일 것입니다.struct(@Jonathan Leffler의 코멘트에 언급된 바와 같이) 비트 필드를 가진 5명의 멤버가 있습니다.4. 그래서..

programing 2023.09.27

C의 메모리 누출 감지기?

C의 메모리 누출 감지기? 사람들이 좋은 경험을 한 기억 누출 감지기는 무엇입니까? 지금까지의 답변을 요약하면 다음과 같습니다. Valgrind - 동적 분석 도구를 구축하기 위한 계측 프레임워크입니다. Electric Fence - GDB와 연동되는 Tool 스플린트 - 주석 지원 경량 정적 점검 글로우 코드 - Windows 및 를 위한 완벽한 실시간 성능 및 메모리 프로파일러입니다.C++, C# 또는 임의의 응용 프로그램을 개발하는 NET 프로그래머.NET Framework 또한 이 스택 오버플로우 게시물을 참조하십시오.두번째 발그라인드...전기 울타리를 추가하겠습니다.리눅스하의 발그린드는 꽤 좋습니다. 윈도우하에서는 경험이 없습니다.돈이 있다면: IBM Rational Purify는 C/C++를 ..

programing 2023.09.12

x86_64 ASM - 명령어의 최대 바이트 수?

x86_64 ASM - 명령어의 최대 바이트 수? x64 asm 코드에서 완전한 명령에 필요한 최대 바이트 수는 얼마입니까? 주소로 점프와 같은 것이 최대 9바이트를 차지할 수 있습니다.FF 00 00 00 11 12 3F 1F 하지만 x64 명령이 사용할 수 있는 최대 바이트 수인지 모르겠습니다.x86 명령어 집합(16, 32 또는 64비트, 모든 변형/모드)은 명령어가 최대 15바이트임을 보장합니다.그 이상의 작업은 "잘못된 작업 코드"를 제공합니다.중복 접두사(예: 여러 개의 0x66 또는 0x67 접두사)를 사용하지 않고는 이를 달성할 수 없습니다. 실제로 64비트를 데이터 항목으로 사용하는 유일한 명령은 등록할 로드 상수입니다(Intel 구문:mov reg, 12345678ABCDEF00hat&..

programing 2023.08.18

프로그램이 실행 중인지 프로그래밍 방식으로 확인

프로그램이 실행 중인지 프로그래밍 방식으로 확인 C에서 프로세스가 이미 Linux/Ubuntu에서 실행 중인지 프로그래밍 방식으로 확인하여 프로세스를 두 번 시작하지 않도록 하려면 어떻게 해야 합니까?저는 pidof와 비슷한 것을 찾고 있습니다.을▁the▁you▁walk다▁can니걸을습.pid의 /proc하세요.cmdline을 readlink에서.exe링크(다음은 첫 번째 방법을 사용합니다.) #include #include #include #include #include #include pid_t proc_find(const char* name) { DIR* dir; struct dirent* ent; char* endptr; char buf[512]; if (!(dir = opendir("/proc"..

programing 2023.08.18

n이 상수 값인데 intx[n]가 잘못된 이유는 무엇입니까?

n이 상수 값인데 intx[n]가 잘못된 이유는 무엇입니까? 왜 이렇게 하는 것이 잘못된 것인지 이해할 수 없습니다. const int n = 5; int x[n] = { 1,1,3,4,5 }; 그럼에도 불구하고.n이미 상수 값입니다. 이것은 GNU 컴파일러에게 맞는 것처럼 보이지만, const int n = 5; int x[n]; /*without initialization*/ 저는 C99의 VLA 기능에 대해 알고 있으며, 현재 진행 중인 것과 관련이 있다고 생각하지만, 배경에 대해 좀 더 명확한 설명이 필요합니다.기억해야 할 중요한 것은const그리고 "감정"은 완전히 다른 두 가지를 의미합니다. 그const키워드는 정말 "읽기 전용"을 의미합니다.상수는 다음과 같은 숫자 리터럴입니다.42또는1.5..

programing 2023.07.29
반응형