Pertanyaan yang diberi tag «gcc»

GCC adalah Koleksi Kompiler GNU. Ini adalah kompiler standar de facto untuk C, C ++, Go, Fortran, dan Ada di Linux dan mendukung banyak bahasa dan platform lainnya. Terlepas dari kompiler, GCC memiliki toolchain (libc, libstdc ++, objdump, nm dll.) Yang banyak digunakan pada beberapa platform dan sistem.

5
Apakah __attribute __ ((dikemas)) / #pragma paket gcc tidak aman?
Di C, kompiler akan mengeluarkan anggota dari sebuah struct dengan urutan di mana mereka dideklarasikan, dengan kemungkinan byte padding dimasukkan di antara anggota, atau setelah anggota terakhir, untuk memastikan bahwa setiap anggota disejajarkan dengan benar. gcc menyediakan ekstensi bahasa __attribute__((packed)),, yang memberi tahu kompiler untuk tidak memasukkan padding, yang memungkinkan …
164 c  gcc  pragma-pack 

5
Mengapa loop ini menghasilkan "peringatan: iterasi 3u memohon perilaku yang tidak terdefinisi" dan menghasilkan lebih dari 4 baris?
Kompilasi ini: #include <iostream> int main() { for (int i = 0; i < 4; ++i) std::cout << i*1000000000 << std::endl; } dan gccmenghasilkan peringatan berikut: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] std::cout << i*1000000000 << std::endl; ^ Saya mengerti ada bilangan bulat ditandatangani ditandatangani. Yang tidak bisa saya …


14
Tidak dapat mengkompilasi program C pada Mac setelah meningkatkan ke Mojave
Saya telah menggunakan perintah gcc pada terminal untuk mengkompilasi program C tetapi tiba-tiba, setelah pembaruan ke OS Mac saya (ke macOS 10.14 Mojave, dan XCode 10.0), saya mulai menerima pesan: test.c:8:10: fatal error: stdio.h: No such file or directory #include <stdio.h> ^~~~~~~~~ compilation terminated. Saya sudah menginstal gcc karena saya …
159 c  macos  gcc  terminal 

3
LD_LIBRARY_PATH vs LIBRARY_PATH
Saya sedang membangun program C ++ sederhana dan saya ingin sementara mengganti sistem perpustakaan bersama yang disediakan dengan versi yang lebih baru, untuk pengembangan dan pengujian. Saya mencoba mengatur variabel LD_LIBRARY_PATH tetapi tautannya (ld) gagal dengan: / usr / bin / ld: tidak dapat menemukan -lyaml-cpp Saya berharap itu berfungsi …
159 gcc  g++  ld 

3
deklarasi fungsi bukan prototipe
Saya punya perpustakaan yang saya buat, mylib.c: #include <mylib.h> int testlib() { printf("Hello world\n"); return (0); } mylib.h: #include <stdio.h> extern int testlib(); Dalam program saya, saya mencoba memanggil fungsi pustaka ini: myprogram.c: #include <mylib.h> int main (int argc, char *argv[]) { testlib(); return (0); } Ketika saya mencoba untuk …
158 c  gcc 

9
Mengapa mengalir dari fungsi non-void tanpa mengembalikan nilai tidak menghasilkan kesalahan kompiler?
Sejak saya menyadari beberapa tahun yang lalu, bahwa ini tidak menghasilkan kesalahan secara default (setidaknya di GCC), saya selalu bertanya-tanya mengapa? Saya mengerti bahwa Anda dapat mengeluarkan flag compiler untuk menghasilkan peringatan, tetapi bukankah itu selalu menjadi kesalahan? Mengapa masuk akal jika fungsi non-void tidak mengembalikan nilai yang valid? Contoh …
158 c++  c  gcc  g++ 

24
Bendera GCC yang berguna untuk C
Di luar pengaturan -Wall, dan pengaturan -std=XXX, apa lagi yang benar-benar berguna, tetapi flag-flag compiler yang kurang dikenal tersedia untuk digunakan di C? Saya sangat tertarik dengan peringatan tambahan, dan / atau mengubah peringatan menjadi kesalahan dalam beberapa kasus untuk benar-benar meminimalkan ketidakcocokan jenis yang tidak disengaja.
157 c  gcc  compiler-flags 





2
Apa sebenarnya ffast-matematika gcc sebenarnya?
Saya mengerti bahwa --ffast-mathflag gcc dapat sangat meningkatkan kecepatan untuk float ops, dan melampaui standar IEEE, tetapi sepertinya saya tidak dapat menemukan informasi tentang apa yang sebenarnya terjadi saat diaktifkan. Adakah yang bisa menjelaskan beberapa detail dan mungkin memberikan contoh yang jelas tentang bagaimana sesuatu akan berubah jika bendera dihidupkan …

6
Apa keuntungan dari __builtin_expect GCC dalam pernyataan if else?
Saya menemukan #definedi mana mereka menggunakan __builtin_expect. Dokumentasi mengatakan: Fungsi bawaan: long __builtin_expect (long exp, long c) Anda dapat menggunakan __builtin_expectuntuk memberikan informasi prediksi cabang kepada kompiler. Secara umum, Anda harus memilih untuk menggunakan umpan balik profil aktual untuk ini ( -fprofile-arcs), karena pemrogram terkenal buruk dalam memprediksi bagaimana kinerja …
144 c  linux  gcc  built-in 


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.