DirectXMath as a C++ module
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
- Área
- compilers, computer-graphics
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- C++
- Estrellas
- 1.8k
- Forks
- 262
- Merge medio
- 3 d 12 h
- PR fusionados (30 d)
- 5
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/DirectXMath
-
Issues with including "sal.h"Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
microsoft/DirectXMath#346 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
microsoft/DirectXMath#342 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/DirectXMath#327 · 1 comentario ·
-
Project feedbackAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
microsoft/DirectXMath#326 · 2 comentarios ·
Todos los issues de microsoft/DirectXMath
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mpfaffenberger/privateer_reimagined#658 ·
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
microsoft/onnxruntime#33018 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
AXERA-TECH/ax-llm#81 ·
-
enhancement
Dificultad 2/5 Medio día Aptitud para principiantes 78/100
ros-industrial/ros2_canopen#448 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día