OpenMathLib / OpenMathLib/OpenBLAS
cblas.h function declarations should include calling convention specifier
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C
- Estrellas
- 7.6k
- Forks
- 1.7k
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 42
Descripción
Hi there!
I'm trying to use OpenBLAS in my code in MSVC2015 (@ Win7 x64). The code uses __vectorcall calling convention by default, and therefore any external function declared (such as that in cblas.h) are expected to conform this calling convention (extern "C" doesn't influence on that). At the same time, OpenBLAS is built with __cdecl calling convention and therefore it can't be used until cblas.h function declarations are hacked with proper __cdecl calling convention.
For example,
void cblas_dgemm(OPENBLAS_CONST enum .....bla-bla-bla);
should be declared as:
void __cdecl cblas_dgemm(OPENBLAS_CONST enum .....bla-bla-bla);
in order to be used in code with non-cdecl calling convention.
__cdecl keyword might be Microsoft specific, but you can make generic workaround with preprocessor macros.
Could you please update function declarations of cblas.h?
Thanks!
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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.
Línea de trabajo
Comienza localizando cblas.h y revisando sus declaraciones de funciones CBLAS y las macros de preprocesador existentes. Comprueba cómo se comportan las declaraciones con MSVC2015 y __vectorcall y, a continuación, verifica que las declaraciones conserven de forma coherente la convención de llamada __cdecl de la biblioteca sin afectar a otras plataformas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c
- Área
- api
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100