DirectXMath as a C++ module
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Ativa
- Stack de tecnologia
- cpp
- Domínio
- compilers, computer-graphics
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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?
- Linguagem predominante
- C++
- Estrelas
- 1.8k
- Forks
- 265
- Merge médio
- 2d 19h
- PRs com merge (30d)
- 7
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/DirectXMath
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/DirectXMath#327 · 1 comentário ·
-
Project feedbackAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
microsoft/DirectXMath#326 · 2 comentários ·
-
arm64 maintenance
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
microsoft/DirectXMath#309 ·
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
microsoft/DirectXMath#299 ·
Todas as issues de microsoft/DirectXMath
Issues semelhantes
-
Add string concatenationAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Failed-capture notification says "Save diagnostics for this upload" when nothing was uploadedAbertaarea: ui bug good first issue P2: medium value: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
patrick-hudson/put.gd-desktop#366 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Niko1221/Strata#3673 · 2 comentários ·
Mantenedores costumam responder em até 3 dias