Попытки повторить аналог поведения __attribute__ ((alias ("realfunc"))) из GCC в MSVS/MSVC успехом не закончились. Что не так? и есть ли решения на базе pragma, macro?
Вот тест на котором была попытка заставить работать:
main.c
#include <stdio.h>
#include <stdarg.h>
#include <stdint.h>
#include <errno.h>
#include <string.h>
#include "main.h"
#pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ )
int main(int argc, char *argv[])
{
int i;
for (i = 0; i < 255; i++)
printf("%d) [%d]\n", i, test_virtual(i));
(void) getchar();
return 0;
}
main.h
//__declspec(dllexport) int __cdecl test_virtual(int);
//__declspec(dllimport) int __cdecl test_virtual(int);
__declspec(dllexport) int __cdecl test_realy(int);
int test_virtual(int);
fun.c
#include <stdio.h>
#include <stdarg.h>
#include <stdint.h>
#include <errno.h>
#include <string.h>
#include "main.h"
__declspec(dllexport) int __cdecl test_realy(int a)
{
return a + 10;
}
#pragma comment(linker, "/EXPORT:test_virtual=test_realy")
Пробовал все возможные на мой взгляд варианты с декорациями имен функций (__stdcall,__cdecl), толку нет.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости