DirectXMath as a C++ module
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- compilers, computer-graphics
Direzione di ricerca
Start by reading DirectXMath.h and the proposed DirectXMath.ixx contents, then inspect DirectXPackedVector.h and the mentioned SHMath, Stereo3D, and XDSP components. Done means the module structure, standard-library imports, export granularity, and Windows SDK or cppwinrt integration questions are resolved and an agreed module design is documented.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
A few months ago, I designed the winrt module for C++/WinRT. C++/WinRT depends on DirectXMath, so I hope DirectXMath can also be modularized. This would help make the winrt module cleaner and compilation faster. Thanks to the high quality of DirectXMath, modularizing it is easy, but some decisions need to be discussed.
Overall, the following changes need to be made:
- Provide a macro to disable the inclusion of all standard library headers in DirectXMath.h (for example, XM_IMPL_MODULE).
- Create the following DirectXMath.ixx:
extern "C++" is used so that when the header file and the module are used at the same time, the same functions can be merged and ODR violations can be avoided.module; #include "sal.h" #include <intrins.h> #include <cassert> export module DirectXMath; import std; #define XM_IMPL_MODULE export { extern "C++" { #include "DirectXMath.h" } }
Once the details are settled, I can implement it. Any questions are welcome.
My questions:
- I hope to avoid using C standard library headers, and instead use the suffixless headers of the C++ standard library, and complete the std:: qualification for these types. This is to avoid using the std.compact module.
- Are fine-grained exports needed?
- DirectXPackedVector.h is not in DirectXMath.h. Should it be part of DirectXMath.ixx or a separate module?
- How should SHMath, Stereo3D, and XDSP be handled?
- Can the Windows SDK package the DirectXMath module?
- Lingua principale
- C++
- Stelle
- 1.8k
- Fork
- 262
- Merge medio
- 3g 12h
- PR unite (30g)
- 5
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/DirectXMath
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
microsoft/DirectXMath#346 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
microsoft/DirectXMath#342 ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
microsoft/DirectXMath#327 · 1 commento ·
-
Project feedbackAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
microsoft/DirectXMath#326 · 2 commenti ·
Tutte le issue di microsoft/DirectXMath
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cp-algorithms/cp-algorithms#1715 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Icinga/icinga2#11058 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
status:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
PX4/PX4-Autopilot#28924 ·
I maintainer di solito rispondono entro 1 giorno
-
component: split-view platform: windows
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
zen-browser/desktop#15616 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno