«gcc» 태그된 질문

GCC는 GNU 컴파일러 모음입니다. Linux에서 C, C ++, Go, Fortran 및 Ada를위한 사실상의 표준 컴파일러이며 다른 많은 언어와 플랫폼도 지원합니다. 컴파일러 외에도 GCC에는 여러 플랫폼과 시스템에서 널리 사용되는 툴체인 (libc, libstdc ++, objdump, nm 등)이 있습니다.

13
std :: type_info :: name 결과 관리 해제
저는 현재 호출 함수에 대한 정보를 인쇄하는 로깅 코드를 작업 중입니다. 이것은 비교적 쉬울 것입니다. 표준 C ++에는 type_info클래스가 있습니다. 여기에는 typeid의 클래스 / 함수 / 등의 이름이 포함됩니다. 그러나 그것은 엉망입니다. 별로 유용하지 않습니다. 즉 typeid(std::vector<int>).name()돌아갑니다 St6vectorIiSaIiEE. 이것에서 유용한 것을 생산하는 방법이 있습니까? 마찬가지로 std::vector<int>위의 예를 들어. 템플릿이 아닌 …
93 c++  gcc  name-mangling 

9
편집하고 싶지 않은 타사 코드에서 gcc에서 나오는 미사용 변수 경고를 어떻게 비활성화합니까?
사용하지 않는 변수 경고를 끄기 위해 gcc 컴파일러에 어떤 스위치를 전달하는지 알고 싶습니다. Windows의 부스트에서 오류가 발생하고 부스트 코드를 만지고 싶지 않습니다. C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined but not used [-Werror=unused-variable] …

9
Makefile이 수정 된 헤더 파일을 포함하는 소스 파일을 자동으로 다시 빌드하도록하려면 어떻게해야합니까? (C / C ++에서)
작업중인 프로그램 (실제로 커널)을 빌드하는 데 사용하는 다음 메이크 파일이 있습니다. 처음부터 프로세스에 대해 배우고 있으므로 완벽하지는 않지만이 시점에서 메이크 파일 작성 경험 수준에 비해 충분히 강력하다고 생각합니다. AS = nasm CC = gcc LD = ld TARGET = core BUILD = build SOURCES = source INCLUDE = include ASM …


5
libstdc ++를 정적으로 링크 : 문제가 있습니까?
상당히 오래된 libstdc ++ 버전과 함께 제공되는 Ubuntu 10.04를 실행하는 시스템에 GCC 4.7의 libstdc ++와 함께 Ubuntu 12.10에 빌드 된 C ++ 애플리케이션을 배포해야합니다. 현재 저는 -static-libstdc++ -static-libgcc이 블로그 게시물 인 Linking libstdc ++ statically에서 제안한대로를 사용 하여 컴파일하고 있습니다. 저자는 libstdc ++를 정적으로 컴파일 할 때 동적으로로드 된 C …

6
GCC로 미리 컴파일 된 헤더
누구든지 GCC로 작업하는 미리 컴파일 된 헤더를 얻는 데 성공 했습니까? 나는 내 시도에 운이 없었고 그것을 설정하는 방법에 대한 많은 좋은 예를 보지 못했습니다. cygwin gcc 3.4.4에서 시도하고 Ubuntu에서 4.0을 사용했습니다.

3
<random>은 Linux에서 동일한 숫자를 생성하지만 Windows에서는 생성하지 않습니다.
아래 코드는 간격 [1,100]에서 5 개의 의사 난수 목록을 생성하기위한 것입니다. 나는 시스템 시간을 유닉스 시간으로 반환 하는 default_random_enginewith를 시드합니다 . Microsoft Visual Studio 2013을 사용하여 Windows 7에서이 프로그램을 컴파일하고 실행하면 예상대로 작동합니다 (아래 참조). 그러나 g ++ 컴파일러로 Arch Linux에서 그렇게하면 이상하게 작동합니다.time(0) Linux에서는 매번 5 개의 숫자가 생성됩니다. …

5
GCC 치명적 오류 : stdio.h : 해당 파일 또는 디렉토리가 없습니다.
GCC 4.9 (실험적)를 사용하여 OS X 10.9에서 C로 프로그램을 컴파일하려고합니다. 어떤 이유로 컴파일 타임에 다음 오류가 발생합니다. gcc: fatal error: stdio.h: No such file or directory 그런 다음 간단한 Hello World 프로그램을 시도했습니다. #include &lt;stdio.h&gt; int main(int argc, const char *argv[]) { printf("Hello, world!"); return 0; } 다시, 실행시 gcc …
90 c  gcc  stdio 

6
OSX App Bundle 빌드
Xcode를 사용하지 않고 osX 앱을 만들었다 고 가정 해 보겠습니다. GCC로 컴파일 한 후 여러 다른 라이브러리에 연결된 실행 파일을 얻습니다. 이러한 라이브러리 중 일부는 다른 비표준 시스템 라이브러리에 다시 동적으로 링크 될 수 있습니다. 먼저 필요한 디렉터리 구조를 만든 다음 모든 동적 종속성이 App Bundle에 있는지 확인하기 위해 링크를 …
90 macos  gcc  otool 

5
gcc -ggdb와 gcc -g의 차이점은 무엇입니까?
gcc를 사용하여 C 프로그램을 컴파일 할 때 일반적으로 -g필요한 경우 gdb가 도움이 될 수 있도록 elf 파일에 디버그 정보를 가져 오는 데 사용합니다. 그러나 -ggdb디버그 정보를 더 gdb 친화적으로 만들기 위해 일부 프로그램에서을 사용한다는 것을 알았 습니다. 그것들은 어떻게 다르며 어떤 것을 사용하는 것이 좋습니까? 참고 : 프로그램 또는 GCC …
90 gcc  gdb 

1
-rpath와 -L의 차이점은 무엇입니까?
gcc및 ld라이브러리-사이에 그들에게 대한 검색 경로를 지정하는 방법에는 여러 가지 제공 -rpath하고 -L플래그를. 맨 페이지는이 두 플래그 사이에 차이가 없음을 나타내며 각 플래그가 라이브러리 검색 경로에 라이브러리를 추가한다고 효과적으로 말합니다. 그러나 모두 플래그를 수행하는 것이 이상한 것 같다 정확히 같은 일을. 이 두 옵션의 차이점은 무엇입니까?


4
g ++로 다중 스레드 코드 컴파일
가장 쉬운 코드가 있습니다. #include &lt;iostream&gt; #include &lt;thread&gt; void worker() { std::cout &lt;&lt; "another thread"; } int main() { std::thread t(worker); std::cout &lt;&lt; "main thread" &lt;&lt; std::endl; t.join(); return 0; } 나는 여전히 그것을 g++실행하기 위해 컴파일 할 수는 없지만 . 자세한 내용은: $ g++ --version g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 …
89 c++  linux  ubuntu  gcc  g++ 

4
"휘발성"의 정의가 이처럼 변동성이 있습니까? 아니면 GCC에 표준 준수 문제가 있습니까?
(WinAPI의 SecureZeroMemory와 같은) 항상 메모리를 0으로 만들고 컴파일러가 그 후에는 메모리에 다시 액세스하지 않을 것이라고 생각하더라도 최적화되지 않는 함수가 필요합니다. 휘발성에 대한 완벽한 후보처럼 보입니다. 하지만 실제로 GCC와 함께 작동하는 데 몇 가지 문제가 있습니다. 다음은 함수의 예입니다. void volatileZeroMemory(volatile void* ptr, unsigned long long size) { volatile unsigned char* …
89 c++  c  gcc  standards 

2
템플릿 클래스 멤버 함수의 명시 적 전문화
특정 유형에 대한 템플릿 멤버 함수를 전문화해야합니다 ( double 이라고 가정 해 보겠습니다 ). 클래스 X자체가 템플릿 클래스가 아닌 동안 잘 작동 하지만 템플릿을 만들면 GCC가 컴파일 타임 오류를 제공하기 시작합니다. #include &lt;iostream&gt; #include &lt;cmath&gt; template &lt;class C&gt; class X { public: template &lt;class T&gt; void get_as(); }; template &lt;class …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.