OpenMathLib / OpenMathLib/OpenBLAS
cblas.h function declarations should include calling convention specifier
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 7.6k
- Forks
- 1.7k
- Ø Merge
- 1 T. 3 Std.
- Gemergte PRs (30 T.)
- 42
Beschreibung
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!
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, cblas.h zu suchen und seine CBLAS-Funktionsdeklarationen sowie die vorhandenen Präprozessormakros zu überprüfen. Prüfe, wie sich die Deklarationen mit MSVC2015 und __vectorcall verhalten, und verifiziere anschließend, dass die Deklarationen die __cdecl-Aufrufkonvention der Bibliothek durchgängig beibehalten, ohne andere Plattformen zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c
- Bereich
- api
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100