Thread View: pl.comp.lang.c
7 messages
7 total messages
Started by Borneq
Sat, 30 Jun 2018 07:56
Kompilowane nagłówki z GCC (i Clang)
Author: Borneq
Date: Sat, 30 Jun 2018 07:56
Date: Sat, 30 Jun 2018 07:56
8 lines
1339 bytes
1339 bytes
Zwykle dla Visuala z moich projektach nie lubię kompilowanych nagłówków i wyrzucam stdafx.h i cpp. Jednak chodzi mi o duże projekty jak llvm, które się długo kompilują i GCC. Czy GCC w odróżnieniu od Visuala nie potrzebuje zmian w kodzie (stdafx) tylko używa plików .gch? Czytałem że muszą być w tym samym katalogu co .h, to nie tylko śmieci w źródłach ale stanowi kłopot dla tworzenia .bch systemowych nagłówków. Jak to jest? Jaka komenda GCC tworzy .gch? A Clang?
Re: Kompilowane nagłówki z GCC (i Clang)
Author: Borneq
Date: Sat, 30 Jun 2018 07:59
Date: Sat, 30 Jun 2018 07:59
4 lines
980 bytes
980 bytes
W dniu 30.06.2018 o 09:56, Borneq pisze: > kłopot dla tworzenia .bch tu też .gch
Re: Kompilowane nagłówki z GCC (i Clang)
Author: Borneq
Date: Sat, 30 Jun 2018 09:06
Date: Sat, 30 Jun 2018 09:06
33 lines
2124 bytes
2124 bytes
Coś mi się nie zgadza: mam gch_header.h, #include "llvm-c/Analysis.h" #include "llvm-c/Initialization.h" #include "llvm/IR/Module.h" #include "llvm/IR/Verifier.h" #include "llvm/InitializePasses.h" #include "llvm/PassRegistry.h" #include "llvm/Support/raw_ostream.h" #include <cstring> wołam: gcc -xc++ gch_header.h -I/home/andrzej/devel/llvm/include/ -I/home/andrzej/devel/llvm/mybuilddir/include/ tym razem są błędy /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start': (.text+0x20): undefined reference to `main' /tmp/cc8wVfVm.o:(.data.rel+0x0): undefined reference to `llvm::EnableABIBreakingChecks' collect2: error: ld returned 1 exit status podczas gdy inny prosty header mający tylko #include<stdio.h> dawał 1.9 megowy .gch bez błędów. dlaczego tu chce linkować? natomiast gcc gch_header.h -I/home/andrzej/devel/llvm/include/ -I/home/andrzej/devel/llvm/mybuilddir/include/ bez -xc++ tworzy mi malutki .gch oraz daje błędy c++ Jestem więc zakleszczony, bo bez -xc++ przyjmuje język c zamiast c++, a z tym -xc++ przyjmuje że to plik C++ a nie nagłówek C++. jak by było -xhpp czy coś takiego...
Re: Kompilowane nagłówki z GCC (i Clang)
Author: Borneq
Date: Sat, 30 Jun 2018 11:03
Date: Sat, 30 Jun 2018 11:03
12 lines
1492 bytes
1492 bytes
W dniu 30.06.2018 o 11:06, Borneq pisze: > Jestem więc zakleszczony, bo bez -xc++ przyjmuje język c zamiast c++, a > z tym -xc++ przyjmuje że to plik C++ a nie nagłówek C++. > jak by było -xhpp czy coś takiego... g++ zamiast gcc i powstaje wielki .gch z clangiem są większe kłopoty Ale prekompilowane nagłówki nie mają większego sensu, bo choć mamy plik kilka KB, z nagłówkami 2.5 MB, to prekompilowany ma aż 105 MB i wcale szybciej nie działa gdy go się dołącza. Trzeba czekać na moduły.
Re: Kompilowane nagłówki z GCC (i Clang)
Author: bartekltg
Date: Sun, 01 Jul 2018 00:53
Date: Sun, 01 Jul 2018 00:53
16 lines
1622 bytes
1622 bytes
On 30.06.2018 09:56, Borneq wrote: > Zwykle dla Visuala z moich projektach nie lubię kompilowanych nagłówków > i wyrzucam stdafx.h i cpp. > Jednak chodzi mi o duże projekty jak llvm, które się długo kompilują i GCC. > Czy GCC w odróżnieniu od Visuala nie potrzebuje zmian w kodzie (stdafx) > tylko używa plików .gch? Czytałem że muszą być w tym samym katalogu co > .h, to nie tylko śmieci w źródłach ale stanowi kłopot dla tworzenia .bch > systemowych nagłówków. Jak to jest? > Jaka komenda GCC tworzy .gch? A Clang? Nie jestem pewien, co wynika z dalszego rozwoju tego wątku, ale tu króciutki tutorial: http://itscompiling.eu/2017/01/12/precompiled-headers-cpp-compilation/ pzdr bartekltg
Re: Kompilowane nagłówki z GCC (i Clang)
Author: Borneq
Date: Sun, 01 Jul 2018 07:24
Date: Sun, 01 Jul 2018 07:24
7 lines
1291 bytes
1291 bytes
W dniu 01.07.2018 o 02:53, bartekltg pisze: > Nie jestem pewien, co wynika z dalszego rozwoju tego wątku, > ale tu króciutki tutorial: > http://itscompiling.eu/2017/01/12/precompiled-headers-cpp-compilation/ na testach wyszło, że pliki skompilowane pliki nagłówkowe są tak wielkie , że aż nie ma przyśpieszenia. Trzeba będzie poczekać na moduły.
Re: Kompilowane nagłówki z GCC (i Clang)
Author: Borneq
Date: Sun, 01 Jul 2018 07:45
Date: Sun, 01 Jul 2018 07:45
27 lines
1975 bytes
1975 bytes
W dniu 01.07.2018 o 09:24, Borneq pisze: > na testach wyszło, że pliki skompilowane pliki nagłówkowe są tak wielkie > , że aż nie ma przyśpieszenia. Trzeba będzie poczekać na moduły. Nie, to z innego powodu nie było zysku: uznał że plik gch jest zły i go nie używał. Analysis_my.cpp:4:24: warning: gch_header.h.gch: not used because `__STRICT_ANSI__' not defined [-Winvalid-pch] #include "gch_header.h" jak dodałem #define __STRICT_ANSI__ 1 Analysis_my.cpp:4:24: warning: gch_header.h.gch: not used because `__GLIBCXX_BITSIZE_INT_N_0' is defined [-Winvalid-pch] #include "gch_header.h" To się dzieje, gdy chciałem użyć pliku nagłówkowego: #include "llvm-c/Analysis.h" #include "llvm-c/Initialization.h" #include "llvm/IR/Module.h" #include "llvm/IR/Verifier.h" #include "llvm/InitializePasses.h" #include "llvm/PassRegistry.h" #include "llvm/Support/raw_ostream.h" #include <cstring> aby zobaczyć czy da radę przyśpieszyć w ten sposób budowę LLVM
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads