Это немного странная проблема.
Скажем, у меня есть код C ++, работающий на конкретной платформе. Единственная цель этого кода - запускать файлы, содержащие двоичные файлы, NATIVE для этой платформы.
Теперь - мой вопрос - КАК я мог бы получить данные из этих файлов (даже по битам, например, 1024 бита за цикл) в память машины, на которой выполняется мой код, чтобы эти данные были в исполнительной части?
Другими словами, могу ли я получить данные где-нибудь, где я могу указать указатель инструкции?
Если да, то как?
Я не против, если мне придется использовать ассемблер для этого - просто чтобы это работало.
РЕДАКТИРОВАТЬ: Извините, я не был достаточно конкретным.
В основном - данные файла, которые я хочу загрузить, не имеют такого формата, как .exe, исполняемый файл Mach-O или ELF. Это просто необработанные двоичные данные (с некоторыми пользовательскими заголовками, которые удаляет мой код). Эти двоичные данные являются машинным кодом и предназначены для процессора, работающего на текущем компьютере.
Технически это означает, что я хочу обойти обычных исполнителей ОС и загрузить двоичный файл напрямую. Я мог бы интерпретировать это, но в лучшем случае это было бы примерно в 3 раза медленнее.
Я бы вообще не возражал, если бы мне нужно было запускать данные в другом дочернем процессе - но опять же, я не могу использовать обычные средства открытия процессов, потому что данные не в каком-либо формате, который ОС могла бы запускать автоматически (опять же - как .exe, Mach-O, ELF).