반응형

c 68

GCC의 정렬된 malloc()?

GCC의 정렬된 malloc()? GCC 또는 glibc에 정렬된 포인터에 메모리 블록을 할당하는 표준화된 기능이 있습니까?MSVC의 _align_malloc()처럼?질문을 받은 이후 새로운 기능이 C11에 의해 표준화되었습니다. void *aligned_alloc(size_t alignment, size_t size); 그리고 glibc에서 사용할 수 있습니다(제가 알기로는 윈도우에서는 사용할 수 없습니다).그것은 그것의 주장을 다음과 같은 순서로 받아들입니다.memalign마이크로소프트의 반대._aligned_malloc그리고 그것을 사용합니다.free할당 해제를 위해 정상적으로 작동합니다. 미묘한 차이는aligned_alloc을 요구합니다.size의 배수가 되다alignment.memalign 함수..

programing 2023.06.22

32비트 또는 64비트에 따라 데이터 유형 또는 구조의 크기는 누가 결정합니까?

32비트 또는 64비트에 따라 데이터 유형 또는 구조의 크기는 누가 결정합니까? 32비트 또는 64비트에 따라 데이터 유형 또는 구조의 크기는 누가 결정합니까?? 파일러?프?를 들면, 들면를예,sizeof(int)32비트 시스템의 경우 4바이트인 반면 64비트 시스템의 경우 8바이트입니다. 도 그 책을 .sizeof(int)32비트 및 64비트 컴파일러를 모두 사용하여 컴파일할 경우 4바이트입니다. CPU가 32비트 및 64비트 응용 프로그램을 모두 실행할 수 있다고 가정하면 컴파일러 또는 프로세서의 데이터 크기를 결정하는 데 누가 주요 역할을 합니까?궁극적으로 컴파일러입니다.컴파일러 구현자는 CPU가 가장 효율적으로 처리하는 정수 크기에 관계없이 적합하다고 판단되는 모든 정수 크기를 에뮬레이트하기로 결..

programing 2023.06.17

터미널 창의 크기 가져오기(행/열)

터미널 창의 크기 가져오기(행/열) 현재 출력 단자 창의 열/행 수를 가져오는 신뢰할 수 있는 방법이 있습니까? 저는 이 숫자들을 C/C++ 프로그램에서 검색하고 싶습니다. 저는 주로 GNU/리눅스 솔루션을 찾고 있지만 Windows 솔루션도 필요합니다.Windows에서 다음 코드를 사용하여 콘솔 창의 크기를 인쇄합니다(여기서 Quantum의 답변을 참조). #include int main(int argc, char *argv[]) { CONSOLE_SCREEN_BUFFER_INFO csbi; int columns, rows; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); columns = csbi.srWindow.Right - ..

programing 2023.06.17

pthread_message 및 pthread_message

pthread_message 및 pthread_message C 동시성 프로그래밍에 대해 질문이 있습니다. pthread 라이브러리에서 프로토타입은pthread_join이라 int pthread_join(pthread_t tid, void **ret); 그리고 의 원형.pthread_exit다음과 같습니다. void pthread_exit(void *ret); 그래서 나는 혼란스러워, 왜.pthread_join프로세스의 반환 값을 포인터로 사용합니다.void수집된 스레드에서 포인터, 그러나pthread_exit한 잔만 마셔도 됩니다.void종료된 스레드의 포인터?제 말은 기본적으로 모두 스레드에서 반환되는 값인데, 왜 유형에 차이가 있습니까?인pthread_exit,ret는 입력 매개 변수입니다.변수의 ..

programing 2023.06.17

C 및 C++의 정적 및 외부 글로벌 변수

C 및 C++의 정적 및 외부 글로벌 변수 저는 두 개의 프로젝트를 만들었는데, 첫 번째 프로젝트는 C에서, 두 번째 프로젝트는 C++에서 모두 같은 동작으로 작동합니다. C 프로젝트: 머리글.h int varGlobal=7; 주.c. #include #include #include "header.h" void function(int i) { static int a=0; a++; int t=i; i=varGlobal; varGlobal=t; printf("Call #%d:\ni=%d\nvarGlobal=%d\n\n",a,i,varGlobal,t); } int main() { function(4); function(6); function(12); return 0; } C++ 프로젝트: 머리글.h int v..

programing 2023.06.12

어떻게 하면 C/C++ # 포함 그래프를 쉽게 볼 수 있습니까?

어떻게 하면 C/C++ # 포함 그래프를 쉽게 볼 수 있습니까? 마감되었습니다. 이 질문은 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 것입니다.충족되지 않습니다.스택 오버플로 지침입니다.현재 답변을 수락하고 있지 않습니다. 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 질문은 허용되지 않습니다.질문에 사실과 인용문으로 답변할 수 있도록 질문을 편집할 수 있습니다. 7년 전에 문을 닫았습니다. 이 질문을 개선합니다. 지정된 파일에 포함된 모든 파일을 표시하고 해당 파일에 포함된 모든 파일을 표시하는 도구(가능하면 Visual Studio 플러그인)를 찾고 있습니다.먼저, cinclude2dot.pl 은 C/C++ 코드를 분석하고 #filename 종속성 그래프를 graphviz..

programing 2023.06.12

구체적으로, 포크()는 리눅스에서 malloc()에서 동적으로 할당된 메모리를 어떻게 처리합니까?

구체적으로, 포크()는 리눅스에서 malloc()에서 동적으로 할당된 메모리를 어떻게 처리합니까? 저는 부모와 자녀가 함께 하는 프로그램이 있습니다.포크() 이전에 부모 프로세스는 malloc()를 호출하고 일부 데이터로 배열을 채웠습니다.포크() 이후에 아이는 해당 데이터가 필요합니다.파이프를 사용할 수 있지만 다음 코드가 작동하는 것 같습니다. #include #include #include #include int main( int argc, char *argv[] ) { char *array; array = malloc( 20 ); strcpy( array, "Hello" ); switch( fork() ) { case 0: printf( "Child array: %s\n", array ); str..

programing 2023.06.07
반응형