«gcc» 태그된 질문

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

2
C에서 main ()없이 프로그램 컴파일 및 실행
main()에서 함수 없이 다음 프로그램을 컴파일하고 실행하려고합니다 C. 다음 명령을 사용하여 프로그램을 컴파일했습니다. gcc -nostartfiles nomain.c 그리고 컴파일러는 경고를 제공합니다. /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400340 알겠습니다. 문제 없습니다. 그런 다음 실행 파일 (a.out)을 실행하고 두 printf명령문이 모두 성공적으로 인쇄 된 다음 분할 오류가 발생 합니다. …

10
Catalina 10.15로 업그레이드 한 후 Mac에서 C 프로그램을 컴파일 할 수 없습니다
Mojave로 업그레이드 한 후 Mac에서 C 프로그램을 컴파일 할 수 없다는 이전의 질문이 있으며 그에 대한 대답은 무엇이 잘못되었는지에 대한 대부분의 변형을 다루었습니다. 2019 년 10 월 7 일 월요일 현재 macOS Catalina 10.15로 업그레이드 할 수 있습니다. 다시 한 번, 업그레이드하는 동안 /usr/includeXMod 11.0을 Mojave 10.14.6에서 Catalina로 업그레이드하기 전에 …
64 c  xcode  macos  gcc  macos-catalina 


1
gcc-10.0.1 특정 Segfault
C 컴파일 된 코드 가있는 R 패키지 가 비교적 안정적이며 광범위한 플랫폼 및 컴파일러 (windows / osx / debian / fedora gcc / clang)에 대해 자주 테스트됩니다. 최근에는 패키지를 다시 테스트하기 위해 새로운 플랫폼이 추가되었습니다. Logs from checks with gcc trunk aka 10.0.1 compiled from source on Fedora 30. (For …

1
왜 GCC가 배열의 초기화를 초기화하여 0이 아닌 요소를 포함하여 모든 것을 먼저 0으로 채우는가?
왜 gcc는 나머지 96 개의 정수 대신에 전체 배열을 0으로 채우는가? 0이 아닌 이니셜 라이저는 모두 배열의 시작 부분에 있습니다. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to materialize a[] in memory …


1
Clang은 코드를 컴파일하지 않지만 gcc 및 msvc는 코드를 컴파일했습니다.
내 코드 또는 컴파일러 (가능하지 않은)에서 문제가 무엇인지 이해하지 못합니다. 다음과 같은 코드가 있습니다. #include <iostream> #include <type_traits> #include <set> template<typename T, typename = void> struct TestA: std::false_type {}; template<typename T> struct TestA<T, std::void_t<typename T::reverse_iterator>> : std::true_type {}; template<typename T> struct TestA<T, std::void_t<typename T::dummy_iterator>> : std::true_type {}; int main() { …

1
GCC가 std :: vector :: size가이 루프에서 변경되지 않는다고 가정 할 수없는 이유는 무엇입니까?
if (i < input.size() - 1) print(0);이 루프에서 최적화 input.size()되어 모든 반복에서 읽히지 않는 동료에게 주장 했지만 이것이 사실이 아님을 알 수 있습니다! void print(int x) { std::cout << x << std::endl; } void print_list(const std::vector<int>& input) { int i = 0; for (size_t i = 0; i < input.size(); …
14 c++  gcc  assembly 

5
부울과 비트 비교
uint16_t로 인코딩 된 플래그 세트가 있다고 가정 해보십시오 flags. 예를 들면 다음과 같습니다 AMAZING_FLAG = 0x02. 이제 기능이 있습니다. 이 기능을 사용하려면 플래그를 변경해야하는지 확인해야합니다. 변경하려면 플래시에 기록해야하기 때문입니다. 그리고 그것은 비싸다. 따라서 나는 flags & AMAZING_FLAG같은지 알려주는 검사를 원합니다.doSet . 이것이 첫 번째 아이디어입니다. setAmazingFlag(bool doSet) { if ((flags …



1
GCC의 앵글 브래킷 구현에는 다음이 포함됩니다. 아래 설명 된 이유는 무엇입니까?
2.6 계산 포함 섹션 의이 문서 는 다음 단락으로 구성되어 있습니다. 행이 <토큰으로 시작하고> 토큰을 포함하는 토큰 스트림으로 확장되면 <와 첫 번째> 사이의 토큰이 결합되어 포함 할 파일 이름을 형성합니다. 토큰 사이의 공백은 단일 공백으로 줄어 듭니다. 초기 <뒤의 공백은 유지되지만 닫힘 앞의 후행 공백은 무시 됩니다. CPP는 꺾쇠 괄호 …
11 c++  c  gcc  language-lawyer 

2
IBM 예제 코드, 재진입 할 ​​수없는 기능이 시스템에서 작동하지 않습니다
나는 프로그래밍에서 재진입을 공부하고 있었다. 이 IBM 사이트 (정말 좋은 사이트 )에 있습니다. 아래에 복사 된 코드를 만들었습니다. 웹 사이트를 롤 다운하는 첫 번째 코드입니다. 이 코드는 "위험한 상황"에서 끊임없이 변하는 두 개의 값을 인쇄하여 텍스트 프로그램 (비동기 성)의 비선형 개발에서 변수에 대한 공유 액세스와 관련된 문제를 보여줍니다. #include <signal.h> …
11 c  gcc  signals  x86-64  data-race 

1
컴파일러가 여기에 수신자 저장 레지스터 사용을 고집하는 이유는 무엇입니까?
이 C 코드를 고려하십시오. void foo(void); long bar(long x) { foo(); return x; } GCC 9.3에서 -O3또는로 컴파일하면 다음과 -Os같이 나타납니다. bar: push r12 mov r12, rdi call foo mov rax, r12 pop r12 ret clang의 출력 은 수신자 저장 레지스터 rbx대신 선택을 제외하고 동일합니다 r12. 그러나 다음과 같은 어셈블리를보고 …
10 c  gcc  assembly  clang  x86-64 

3
nullptr을 uintptr_t로 변환 할 수 있습니까? 다른 컴파일러는 동의하지 않습니다
이 프로그램을 고려하십시오 : #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } msvc v19.24로 컴파일하지 못했습니다. <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral …
10 c++  c++11  gcc  visual-c++  clang 

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