Domande taggate «gcc»

GCC è la raccolta di compilatori GNU. È il compilatore standard di fatto per C, C ++, Go, Fortran e Ada su Linux e supporta anche molte altre lingue e piattaforme. Oltre al compilatore GCC ha una toolchain (libc, libstdc ++, objdump, nm ecc.) Che sono ampiamente usati su diverse piattaforme e sistemi.

1
gcc-10.0.1 Segfault specifico
Ho un pacchetto R con codice compilato in C che è stato relativamente stabile per un po 'ed è spesso testato su un'ampia varietà di piattaforme e compilatori (windows / osx / debian / fedora gcc / clang). Più recentemente è stata aggiunta una nuova piattaforma per testare nuovamente il …

1
Perché l'inizializzazione aggregata GCC di un array riempie per prima l'intera cosa di zeri, inclusi elementi diversi da zero?
Perché gcc riempie l'intero array di zeri invece che solo dei restanti 96 numeri interi? Gli inizializzatori diversi da zero sono tutti all'inizio dell'array. 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 …


1
Clang non compila il codice ma gcc e msvc lo hanno compilato
Non capisco qual è il problema: né nel mio codice né nel compilatore (meno possibile). C'è un pezzo di codice come questo: #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, …


5
Paragonando un po 'a un booleano
Supponi di avere un set di flag, codificato in uint16_t flags. Ad esempio AMAZING_FLAG = 0x02,. Ora ho una funzione. Questa funzione deve verificare se voglio cambiare il flag, perché se voglio farlo, devo scrivere in flash. E questo è costoso. Pertanto, voglio un controllo che mi dica se flags …






3
Nullptr può essere convertito in uintptr_t? Diversi compilatori non sono d'accordo
Considera questo programma: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Impossibile compilare con 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 

1
Problema in GCC / C ++ 17 con classe modello di modello
Considera i 2 sovraccarichi seguenti template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Il primo funziona per le classi regolari, mentre il secondo per i modelli non istanziati. Per esempio: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 Ora …
10 c++  templates  gcc  clang  c++17 

1
Perdita di memoria durante unordered_map :: insert Eccezione KeyEqual con GCC - rompendo la forte garanzia di sicurezza delle eccezioni?
Sto usando GCC 7.3.1, ma anche testato su coliru, che credo sia la versione 9.2.0. Costruire con il seguente: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Ecco 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, …

2
Deduzione non corrispondente dei tipi automatici tra diversi compilatori c ++
Quindi, sto cercando di implementare il prodotto dot ( https://en.wikipedia.org/wiki/Dot_product ) in un certo stile del moderno C ++ e ho trovato il seguente codice: #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 …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.