Показать сообщение отдельно
Старый 01.07.2012, 15:04   #28
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Бинарные файлы

Сообщение от jimon Посмотреть сообщение
у каждого компилятора есть свой ABI (Application Binary Interface), иногда он задаётся самим языком, а иногда не задаётся так вот в C и C++ он не определяется стандартами, отсюда твои проблемы ?

ps. если да, то советую глянуть как у нас устроен вызов функций - везде юзается какое нибудь заранее обговоренное соглашение о вызове ( stdcall и прочие : http://en.wikipedia.org/wiki/X86_calling_conventions ), собственно если вызывающий код (например в другой библиотеке) не знает о соглашении то ничего не получится, вот так же делается и с структурами - надо кидать структуры между программами с разным ABI напрямую ? обговаривай соглашение и всё, зачастую выравнивание на 4 обговорить и хватит, самое сложное - это указатель на метод, он везде разный размер имеет (от 8 до 20 байт)
УРА! именно это я и хотел услышать! В следующий раз буду задавать вопрос менее обтекаемо. Собственно, я это уже выжал из треда (хотя если б не тупил и задал вопрос нормально - то получил ответ сразу же ).
И именно поэтому я рассуждал о костыле в виде текстового представления.
p.s.: да проблемы с соглашением вызова как-то были - тема была изучена в необходимом объёме

Теперь просветите: насколько непопулярны системы с big-endian? Стоит ли опасаться непереносимости сохранённых чисел?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием