Разборка VS 2008 Win32 DLL в один файл - PullRequest
0 голосов
/ 07 мая 2009

У меня есть созданный VS C ++ Win32 DLL проект. Он имеет следующие файлы:

stdafx.h targetver.h myProject.h dllmain.cpp myProject.cpp stdafx.cpp

Я могу удалить targetver.h и объединить dllmain.cpp в myProject.cpp. Что еще я могу сделать, чтобы получить простейшую файловую структуру, желательно один файл. Мне нужно динамически создать этот файл кода и встроить его в Win32 DLL.

Ответы [ 5 ]

1 голос
/ 08 мая 2009

Если вам нужна минималистичная файловая структура, вы можете просто создать файлы самостоятельно. Запустите пустой проект или удалите все файлы. Черт возьми, просто создай папку, напиши main.cpp и скомпилируй ее из командной строки с помощью cl .

Немногие IDE действительно пытаются минимизировать файлы, как вы пытаетесь, но когда вы создаете проект, вы можете немного сократить его: stdafx. [H, cpp] предназначены для скомпилированных заголовков, которые вы можете отключить при создании проект.

Тем не менее, я не вижу смысла в минимизации количества исходного кода в скомпилированном языковом проекте - это не окажет существенного влияния на количество выходных файлов / библиотек и, при правильном использовании, используя больше файлов только помогает ясности вашего кода.

1 голос
/ 07 мая 2009

В дополнение к тому, что сказал Энди, вы можете объединить заголовок myProject и файлы реализации, а также dllmain.cpp. Но почему бы просто не сохранить эти файлы и создать файл vsproj во время выполнения?

1 голос
/ 08 мая 2009

Или вы можете просто создать пустой проект.

0 голосов
/ 08 мая 2009

Вы можете # включить ваш сгенерированный файл в существующий многофайловый проект. Таким образом, вы можете иметь оболочку сложного проекта и выдавать только что-то меньшее, например, простую функцию.

Например:

#include <system_stuff>

void main()
{
   Go();
}

#include "generated_file_that_has_method_go.cpp"

void other_code()
{
}
0 голосов
/ 07 мая 2009

IIRC, myProject.h и myProject.cpp оба содержат пример экспортируемого класса. Вы можете легко удалить их.

stdafx.cpp и stdafx.h используются для стандартного предварительно скомпилированного заголовочного файла. Если отключить параметр, для которого требуется предварительно скомпилированный заголовок, эти файлы также не понадобятся.

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