- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
import std.uuid;
import std.file;
import std.path;
import std.string;
ubyte[] sdlBytes = cast(ubyte[]) import("SDL2.dll"); // SDL2.dll contents
void main(string[] args)
{
auto uuid = randomUUID();
string uuid = randomUUID().toString();
string filename = format("SDL2-%s.dll", uuid); // Making an unique file name.
string depacked = buildPath(tempDir(), filename);
std.file.write(depacked, sdlBytes); // Writing the dynlib to a temporary file.
DerelictSDL2.load(depacked); // Use the depacked dynlib and load its symbols.
}
bormand 19.01.2015 21:46 # 0
DlangGovno 19.01.2015 22:02 # 0
bormand 19.01.2015 22:03 # 0
DlangGovno 19.01.2015 22:11 # 0
Но это все равно все в теории, тот компиль, который я юзаю, требует таскать еще libwinpthread-1.dll, от него так просто не избавиться. )
Есть еще другой компиль, который не требует libwinpthread-1.dll, но он не оптимизирует нихрена.
3.14159265 19.01.2015 22:12 # 0
Высокая портируемость и куча копий одной и той же библиотеки в памяти.
bormand 19.01.2015 23:49 # 0
Я вот, если честно, не вижу никакого смысла в этом... Папку перемещать ничуть не сложнее, на каждый запуск распаковывать не надо, и есть место для хранения данных и конфигов... От этих самораспаковывающихся "portable" программ один гемор, имхо.
P.S. И они не имеют никакого отношения к старым добрым прогам из одного экзешника.
3.14159265 20.01.2015 00:32 # 0
Правда весят они овердохера.
>самораспаковывающихся "portable" программ один гемор
Фу бля. Я конечно юзаю их (самый простой способ поставить N браузеров разных версий), но тоже недолюбливаю.
mittorn 25.01.2015 23:42 # 0
someone 20.01.2015 07:28 # +1
bormand 20.01.2015 07:38 # 0
someone 20.01.2015 07:39 # 0
bormand 20.01.2015 07:41 # 0
Бесят сайты, на которых на подзаголовки якоря не вешают.
guest 20.01.2015 07:51 # +3
bormand 20.01.2015 08:15 # +4
Stallman 20.01.2015 13:37 # 0
guest 20.01.2015 22:24 # 0
Vasiliy 21.01.2015 17:25 # +4