Почему в моей пустой программе слишком много неиспользуемых импортов? - PullRequest
0 голосов
/ 25 марта 2019

Я работаю с Visual Studio 2012 & 2017 with C++ 11 и Pelles C 9.0 with C++ 11 ...

Когда я собираю пустую программу и DLL но они содержат много неиспользованных импортов в pe-файле!

VC ++ имеет 26 импорт KERNEL32 и Pelles имеет 70 импортKERNEL32 Мой проект полностью пуст!

Мне нужно удалить их из компоновщика и скомпилированного файла.

У меня есть DLL, скомпилированная с Pelles C , и онаимеет только 4 import , которые он действительно использует:

    KERNEL32.dll
    VirtualProtect  ord:0 rva2iat: 000012A0
    GetModuleHandleA  ord:0 rva2iat: 000012A8
    Sleep  ord:0 rva2iat: 000012B0
    CreateThread  ord:0 rva2iat: 000012B8

Я хочу сделать то же самое, мне не нужен ни один из этих 70 import и функций, Как я могу это сделать?

1 Ответ

0 голосов
/ 26 марта 2019

Благодаря TimoVJL | Вот решение:

#include <windows.h>

#ifdef _WIN64
#pragma comment(linker, "/ENTRY:DllMainCRTStartup")
#else
#pragma comment(linker, "/ENTRY:_DllMainCRTStartup@12")
#endif
BOOL WINAPI DllMainCRTStartup(HANDLE hDLL, DWORD dwReason, LPVOID lpReserved)
{
    if (dwReason == DLL_PROCESS_ATTACH) g_hmod = hDLL;
    return TRUE;
} 

Мне очень жаль это сообщество, я помню это было действительно полезно раньше! Теперь все, что я вижу, это "Люди пытаются доказать Плохой вопрос " вместо " Люди пытаются дать добро Ответ! " Я спрашиваю, и это не чье-то дело ПОЧЕМУ ЭТО НУЖНО ! Это что-то про безопасность, учебу и ... что угодно! в конец это Вопрос! Я только что спросил об этом на форуме и получил ответ менее чем за 5 минут, и никто не спросил, зачем вам это нужно, они просто ответил на ВОПРОС!

Хорошего сообщества!

Не будь:

  • бесполезно
  • Токсичные
  • Скажите людям, что им нужно!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...