Re: GCC & precompiled headers question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On ۱۰/۰۵/۰۶  03:34, Christoph � wrote:
> Hi all,
>
> this is an off topic question, but since I know that some of you are
> familiar with gcc, I am asking it here before signing up somewhere else.
>
> I have to source-compile one language (Modelica) to C++. Since Modelica
> has a structural subtype system, I'd like to create classes that way:
>
> //Modelica
> class Foo
> 	Real x;
> end Foo;
>
> //C++
> template<Foo_Real>  class Foo {
> 	Foo_Real x;
> }
>
> That means every generated class (and function for that matter) is
> (parametric) polymorphic and can be reused in other compilation units
> for subtypes. Unfortunately that also means, that I can only generate
> headers and no libraries or object files. Basically g++ plays the role
> of a linker for modelica. But this means that g++ will parse, check and
> compile every header again and again even if it's clear (at least after
> the first pass) that the code is sane.
>
> I've learned that the C++ standard delivers the export keyword to
> include template symbols in object files, but g++ does not support this.
> The closest thing I've seen to export would be precompiled headers.
> Unfortunately g++ also allows one single precompiled header per
> compilation unit. Does anyone know why? And is there any way to speed up
> the "linking" process a little (like letting g++ at least preprocess the
> headers or something like this)?
>    
Have a look at gcc info: C++ Extensions->Template Instanciation. You can 
go with the first method: using -frepo but notice that it doesn't work 
when ccache is enabled. So, you can export CCACHE_DISABLE=1 before 
running gcc with -frepo option. Also, I think you can go with a solution 
using export keyword too (the second method).

Good luck,
Hedayat
> thanks for any comments,
>
> Christoph
>    

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux