Я работаю над проектом с flex, bison и c, и мне нужно создать простой компилятор для простого языка, который генерирует Java-байт-код непосредственно в файле Class, затем я смог бы выполнить его с помощью Java. Проблема в байт-коде Java. Я не знаю, как записать байт-код в шестнадцатеричном формате непосредственно в файл из моей программы на Си.
Я попытался вручную с помощью Sublime Text написать «CAFE BABE» и сохранить его с шестнадцатеричной кодировкой. Оно работает. Я пробовал разные fwrite и fprintf, но не могу найти хороший способ сделать это.
FILE *dest = fopen("HelloWorld.class", "wb");
fwrite("CAFEBABE", sizeof(unsigned int), 4, dest);
Я также видел некоторые fprintf с 02x ...
fprintf(dest, "%02x", "0xCA");
Я действительно не понимаю, как писать напрямую с помощью шестнадцатеричного кодирования ...
Большое спасибо за любую помощь.