namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:modules_gcc11

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:modules_gcc11 [2021-02-01 19:18]
rrichter [module interface unit]
howto:modules_gcc11 [2021-02-01 19:44] (aktuell)
rrichter [Compile program]
Zeile 1: Zeile 1:
 ====== How to use C++20 modules in GNU g++-11 ====== ====== How to use C++20 modules in GNU g++-11 ======
  
-using gcc11-20210124-32.exe (Windows build on [[http://www.equation.com/servlet/equation.cmd?fa=fortran|equation.com]]) (Warning: This is experimental!)+using gcc11-20210124-32.exe (Windows build from [[http://www.equation.com/servlet/equation.cmd?fa=fortran|equation.com]]) (Warning: This is experimental!)
  
 ===== module definition ===== ===== module definition =====
Zeile 14: Zeile 14:
 before ''module'' //''module_name''//'';'' or ''import'' them after that: before ''module'' //''module_name''//'';'' or ''import'' them after that:
  
-<code cpp>+<code cpp greetings.cpp>
 export module greetings; export module greetings;
 import <iostream>;   import <iostream>;  
Zeile 31: Zeile 31:
 by its module name if you want to use the contents of a module by its module name if you want to use the contents of a module
  
-<code cpp>+<code cpp main.cpp>
 import greetings; import greetings;
  
Zeile 39: Zeile 39:
 } }
 </code> </code>
-===== Prepare std header unit(s) =====+===== Prepare (stdheader unit(s) =====
  
-before compiling modularized source code containing e.g. ''%%import <iostream>;%%''+before compiling modularized source code containing e.g. ''import <iostream>;''
  
 <code> <code>
-g++ -fmodule-header -std=c++20 -x c++ c:\gcc\include\c++\11.0.0\iostream+g++ -fmodules-ts -std=c++20 -c -x c++-system-header iostream
 </code> </code>
-(adapt the path to include files on your system …) +Other options are ''c++-header'' and ''c++-user-header'' (uses ''#include'' path).
 ===== Compile program ===== ===== Compile program =====
  
-with option ''%%-fmodules-ts%%'' in ''%%c++20%%'' mode:+with option ''-fmodules-ts'' in ''c++20'' mode:
  
 <code> <code>
Zeile 61: Zeile 60:
 Hello, modules! Hello, modules!
 </code> </code>
 +
 +===== Further reading =====
 +  * Nathan Sidwell: C++ Modules. A Brief Tour. Overload 28(159) 19-23, October 2020. https://accu.org/journals/overload/28/159/sidwell
 + 
  
howto/modules_gcc11.1612203481.txt.gz · Zuletzt geändert: 2021-02-01 19:18 von rrichter