MSVS/MSVC function alias

231
22 июля 2018, 05:20

Попытки повторить аналог поведения __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), толку нет.

READ ALSO
Отличия в заголовках и их приемущества stdint-gcc.h и cstdint

Отличия в заголовках и их приемущества stdint-gcc.h и cstdint

Хотелось бы узнать в чем разница данных подключений, и в чем особенность каждого из stdint-gcch и cstdint, т

237
Синтаксис cpp (exception ntdll.dll) [дубликат]

Синтаксис cpp (exception ntdll.dll) [дубликат]

На данный вопрос уже ответили:

227
Не распознается тип фрагмента

Не распознается тип фрагмента

У меня есть класс WorkoutDetailFragment, который наследуется от FragmentВ скрипте пытаюсь вернуть ссылку на этот фрагмент, но возникает следующая ошибка:

205
Как правильно оформить модель в MVP?

Как правильно оформить модель в MVP?

В паттерне MVP за данные отвечает модель, то есть, в ней мы реализуем все, что связанно с получением данных

247