«gcc» 태그된 질문

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

1
템플릿 템플릿 클래스가있는 GCC / C ++ 17의 문제
다음 2 가지 과부하를 고려하십시오 template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } 첫 번째 클래스는 일반 클래스에서 작동하고 두 번째 클래스는 인스턴스화되지 않은 템플릿에서 작동합니다. 예를 들어 : std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 이제 다음 …
10 c++  templates  gcc  clang  c++17 

1
GCC에서 unorder_map :: insert KeyEqual 예외 중 메모리 누수가 발생합니다.
GCC 7.3.1을 사용하고 있지만 버전 9.2.0이라고 생각되는 coliru에서도 테스트되었습니다. 다음을 사용하여 빌드하십시오. g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp 여기 있습니다 rai.cpp: #include <iostream> #include <unordered_map> int main() { try { struct MyComp { bool operator()(const std::string&, const std::string&) const { throw std::runtime_error("Nonono"); } }; std::unordered_map<std::string, std::string, std::hash<std::string>, MyComp> mymap; mymap.insert(std::make_pair("Hello", "There")); mymap.insert(std::make_pair("Hello", …

2
다른 C ++ 컴파일러간에 자동 유형이 일치하지 않습니다.
그래서 현대 C ++의 풍미로 내적 제품 ( https://en.wikipedia.org/wiki/Dot_product ) 을 구현하려고 시도 하고 다음 코드를 생각해 냈습니다. #include <iostream> template<class... Args> auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); auto v2 = {brgs...}, i2 …

2
void 포인터 (void *)가 두 가지 데이터 유형 중 하나인지 확인하는 방법은 무엇입니까?
2 type초의 매개 변수 를 허용하려는 함수를 작성 중입니다. A string(char *) structuren 개의 요소가있는 A. 그리고 이것을 달성하기 위해 void *매개 변수 유형 으로 간단한 것을 사용할 생각입니다 . 그러나 매개 변수가 하나의 유형인지 다른 유형인지 안전하게 확인하는 방법을 모르겠습니다.
10 c  gcc  types  clang 

1
CHAR_WIDTH 선언되지 않은
‘CHAR_WIDTH’ undeclared 이 간단한 프로그램을 컴파일하려고 할 때 오류가 발생 합니다. #include <stdio.h> #include <limits.h> int main() { printf("CHAR_BIT = %d\n", CHAR_BIT); printf("CHAR_WIDTH = %d\n", CHAR_WIDTH); return (0); } 와 gcc ./show_char_width.c -o show_char_width 및 gcc : GNU C 버전 8.3.0, GMP 버전 6.1.2, MPFR 버전 4.0.2, MPC 버전 1.1.0으로 …
9 c  gcc 

4
C 컴파일러가 스위치를 최적화하는 이유와 다르게
최근에 이상한 문제가 발생했을 때 개인 프로젝트를 진행하고있었습니다. 매우 엄격한 루프에서는 0과 15 사이의 값을 가진 정수가 있습니다. 0, 1, 8 및 9의 경우 -1을 얻고 값 4, 5, 12 및 13의 경우 1을 가져와야합니다. 나는 godbolt를 사용하여 몇 가지 옵션을 확인했으며 컴파일러가 if 체인과 같은 방식으로 switch 문을 최적화 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.