Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Объектные файлы *.obj, *.o - они случайно не кроссплатформенные? Если нет, то реальна ли конвертация? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Захват изображения с одного монитора и копирование его на второй, подключенные к одному и тому же компьютеру http://www.cyberforum.ru/cpp/thread1282425.html
Друзья, подскажите пожалуйста. Имеется два монитора, подключенных к одному компьютеру. Нужно реализовать захват экрана одного монитора, для вывода в свое окошко на другой монитор. Самое главное, что...
C++ В поисках логики Проблема известная но окончательного ответа я так и не нашел... int a,b; a=(0.1+0.7)*10; b=(0.1+0.8)*10; cout << a << ' ' <<b; // 7 9 http://www.cyberforum.ru/cpp/thread1281706.html
Зависит ли производительность приложения от версии ABI? C++
Привет народ, такой вопрос: начал тут копаться в командах GCC и наткнулся на -fabi-version= n, где n. Почитал что такое ABI - это набор реализаций механизмов, объявленных стандартом, так вот, влияет...
C++ Используя функцию MPI_Alltoall, переслать в каждый процесс три очередных числа
Доброго времени суток, как выяснилось, для меня параллельное программирование что то из рода неясного.До сих пор не могу въехать в саму суть этого дела, на этом ступор у меня. Необходимо сделать вот...
C++ Прекращение работы программы http://www.cyberforum.ru/cpp/thread1281428.html
int main() { string s; int c=0; int g={0}; int j=1,i=1; cin>>s;
C++ Требуется написать скрипт (.tcl) для командной irc-викторины Требуется написать скрипт (.tcl) командной irc-викторины (teamquiz) для бота. подробнее

Показать сообщение отдельно
Kekek
11 / 11 / 1
Регистрация: 24.12.2008
Сообщений: 54
24.10.2014, 15:35
> x86_64-w64-mingw32-objdump -S hello.o
Код
hello.o:     file format pe-x86-64


Disassembly of section .text:

0000000000000000 <main>:
   0:   55                      push   %rbp
   1:   48 89 e5                mov    %rsp,%rbp
   4:   48 83 ec 20             sub    $0x20,%rsp
   8:   e8 00 00 00 00          callq  d <main+0xd>
   d:   48 8d 0d 00 00 00 00    lea    0x0(%rip),%rcx        # 14 <main+0x14>
  14:   e8 00 00 00 00          callq  19 <main+0x19>
  19:   b8 00 00 00 00          mov    $0x0,%eax
  1e:   48 83 c4 20             add    $0x20,%rsp
  22:   5d                      pop    %rbp
  23:   c3                      retq
  24:   90                      nop
  25:   90                      nop
  26:   90                      nop
  27:   90                      nop
  28:   90                      nop
  29:   90                      nop
  2a:   90                      nop
  2b:   90                      nop
  2c:   90                      nop
  2d:   90                      nop
  2e:   90                      nop
  2f:   90                      nop
> objdump -S hello.o
Код
hello.o:     file format elf64-x86-64-freebsd

Disassembly of section .text:

0000000000000000 <main>:
   0:   55                      push   %rbp
   1:   48 89 e5                mov    %rsp,%rbp
   4:   bf 00 00 00 00          mov    $0x0,%edi
   9:   b8 00 00 00 00          mov    $0x0,%eax
   e:   e8 00 00 00 00          callq  13 <main+0x13>
  13:   b8 00 00 00 00          mov    $0x0,%eax
  18:   c9                      leaveq
  19:   c3                      retq
Скомпилировано разными версиями gcc. Под win64 версия 4.2.1, а под freebsd64 - версия 4.8.2, возможно поэтому так сильно отличается код.

Но главное отличие в том, что callq вызывает подпрограммы по разным адресам.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru