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.

6
Bagaimana cara menginstal GCC sepotong demi sepotong dengan GMP, MPFR, MPC, ELF, tanpa pustaka bersama?
Bagaimana cara saya menginstal GCC (GNU Compiler Collection) sepotong demi sepotong, menggunakan versi saat ini, menggunakan versi dependensi yang benar, tidak menggunakan manajer paket (seperti yum, rpm, apt, dpkg), dan tidak menggunakan pustaka bersama? Pengembang umum kemungkinan besar ingin menginstal GCC dengan cara biasa, menggunakan pengelola paket Anda (yum, rpm, …
115 gcc  elf  gmp  mpfr  mpc 


17
Menyusun masalah: tidak dapat menemukan crt1.o
Saya memiliki sistem Debian virtual yang saya gunakan untuk mengembangkan. Hari ini saya ingin mencoba llvm / clang. Setelah menginstal clang saya tidak dapat mengkompilasi c-proyek lama saya (dengan gcc). Ini adalah kesalahannya: ... /usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file …
114 gcc  clang  ld 

4
Apakah cout disinkronkan / aman untuk utas?
Secara umum saya berasumsi bahwa aliran tidak disinkronkan, terserah pengguna untuk melakukan penguncian yang sesuai. Namun, apakah hal-hal seperti coutmendapat perlakuan khusus di perpustakaan standar? Artinya, jika beberapa utas menulis, coutdapatkah mereka merusak coutobjek? Saya memahami bahwa meskipun disinkronkan, Anda masih akan mendapatkan keluaran interleaved acak, tetapi apakah interleaving itu …
112 c++  gcc  c++11 

5
Di manakah PATH_MAX didefinisikan di Linux?
File header mana yang harus saya panggil #includeagar dapat menggunakan PATH_MAX sebagai int untuk mengukur string? Saya ingin bisa menyatakan: char *current_path[PATH_MAX]; Tetapi ketika saya melakukannya kompiler saya (Clang / LLVM di Linux) mengeluarkan kesalahan berikut: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ Saya mencoba melakukan pencarian …
112 c  linux  gcc  include  clang 



11
Bagaimana cara menghapus simbol C / C ++ yang tidak digunakan dengan GCC dan ld?
Saya perlu mengoptimalkan ukuran executable saya ( ARMpengembangan) dan saya perhatikan bahwa dalam skema build saya saat ini ( gcc+ ld) simbol yang tidak digunakan tidak dilucuti. Penggunaan arm-strip --strip-unneededuntuk executable / perpustakaan yang dihasilkan tidak mengubah ukuran keluaran dari executable (saya tidak tahu mengapa, mungkin itu tidak bisa) . …
110 c++  c  gcc  ld  strip 

4
Bagaimana cara saya menautkan ke versi glibc tertentu?
Ketika saya mengkompilasi sesuatu di PC Ubuntu Lucid 10.04 saya, itu akan ditautkan ke glibc. Lucid menggunakan 2.11 glibc. Ketika saya menjalankan biner ini di PC lain dengan glibc yang lebih lama, perintah gagal mengatakan tidak ada glibc 2.11 ... Sejauh yang saya tahu glibc menggunakan versi simbol. Dapatkah saya …
110 linux  gcc  linker  glibc  libc 




11
Kesalahan kompilasi GCC dengan kode> 2 GB
Saya memiliki sejumlah besar fungsi dengan total sekitar 2,8 GB kode objek (sayangnya tidak ada jalan lain, komputasi ilmiah ...) Ketika saya mencoba menautkannya, saya mendapatkan relocation truncated to fit: R_X86_64_32Skesalahan (yang diharapkan) , yang saya harap dapat dihindari dengan menentukan flag compiler -mcmodel=medium. Semua perpustakaan yang ditautkan selain yang …
108 c++  c  gcc  compiler-errors 

8
menghubungkan statis hanya beberapa perpustakaan
Bagaimana cara saya menautkan secara statis beberapa pustaka tertentu ke biner saya saat menautkan dengan GCC? gcc ... -static ...mencoba untuk secara statis menautkan semua pustaka yang ditautkan, tetapi saya belum mendapatkan versi statis dari beberapa di antaranya (misalnya: libX11).

3
Bagaimana cara mencegah gcc mengoptimalkan beberapa pernyataan di C?
Untuk membuat halaman kotor (mengaktifkan bit kotor di entri tabel halaman), saya menyentuh byte pertama halaman seperti ini: pageptr[0] = pageptr[0]; Namun dalam praktiknya, gcc akan mengabaikan pernyataan tersebut dengan eliminasi penyimpanan mati. Untuk mencegah gcc mengoptimalkannya, saya menulis ulang pernyataan sebagai berikut: volatile int tmp; tmp = pageptr[0]; pageptr[0] …
107 c  gcc 

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.