17 / 17 / 14
Регистрация: 06.08.2009
Сообщений: 507
1

Посоветуйте хорошую книгу по линковщику C++

16.01.2017, 20:48. Показов 676. Ответов 10
Метки нет (Все метки)

Посоветуете, пожалуйста, хорошую книгу из котором можно будет понять, как работать с линковщиком C++ и научиться отглючивать непонятные ошибки, которые вылазят на этапе линковки.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2017, 20:48
Ответы с готовыми решениями:

Посоветуйте хорошую книгу по С++
Посоветуйте что-нибудь для новичков в программировании , которые изучают С++,может из своего опыта....

Посоветуйте хорошую книгу по с++.
Посоветуйте пожалуйста какую-то хорошую книгу с++.

Посоветуйте хорошую книгу по С++
Практически уверен, что это тема уже не раз здесь подымалась, но все же. :pardon:... Посоветуйте...

Посоветуйте хорошую книгу по c++ с задачами
Посоветуйте хорошую книгу по c++ с задачами, и подскажите какие темы нужно знать junior'у чтобы...

10
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
16.01.2017, 20:50 2
megabax, только документация к конкретному инструменту.
Цитата Сообщение от megabax Посмотреть сообщение
непонятные ошибки, которые вылазят на этапе линковки.
Большая часть распространенных ошибок понятна и так.
0
Эксперт С++
8719 / 4262 / 950
Регистрация: 15.11.2014
Сообщений: 9,669
16.01.2017, 21:09 3
Цитата Сообщение от megabax Посмотреть сообщение
можно будет понять, как работать с линковщиком C++ и научиться отглючивать непонятные ошибки, которые вылазят на этапе линковки.
1.
выделяем текст ошибки.

2.
копипастим в гугл

3.
читаем доку

4.
PROFIT???!!!!
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.01.2017, 22:42 4
Bash
1
man make
Сам по ней учился
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
17.01.2017, 02:10 5
Не по C++.

John Levine "Linkers and Loaders"

Topics covered
History of linkers and loaders, application binary interfaces (ABIs), computer architecture basics, big- and little-endian memory addresses, register and instruction formats for IBM 370, SPARC and Intel x86, paging and virtual memory, position independent code (PIC), Intel x86 segmentation, embedded architectures, object files for DOS COM and EXE files, Unix a.out, Unix ELF, IBM 360 object format, Microsoft Portable Executable (PE) format, Intel Object Module Format (OMF), storage allocation, linking details for C++, symbol management, name mangling, weak and strong references, debugging information, library formats, COFF and ELF formats, relocation, loading and overlays, bootstrap loading, shared libraries, dynamic linking for Unix ELF and Microsoft Windows DLLs, advanced linking techniques for C++, and linking in Java.
2
858 / 447 / 112
Регистрация: 06.07.2013
Сообщений: 1,494
17.01.2017, 11:51 6
Цитата Сообщение от megabax Посмотреть сообщение
научиться отглючивать непонятные ошибки, которые вылазят на этапе линковки.
за все время, кроме undefined reference от линкера ничего не слышал
0
Ушел с форума
Эксперт С++
16449 / 7413 / 1186
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
17.01.2017, 12:16 7
Цитата Сообщение от megabax Посмотреть сообщение
Посоветуете, пожалуйста, хорошую книгу из котором можно будет понять, как работать с линковщиком C++ и научиться отглючивать непонятные ошибки, которые вылазят на этапе линковки.
О каком конкретно линковщике речь? Если Microsoft Linker, который входит в Visual Studio / SDK / WDK,
тогда посоветую следующее:

Во-первых, когда встречаешь в очередной раз ошибку, копи-пасти ее текст (или номер) в Гугл
и смотри, что тебе он ответит. В большинстве случаев ты сразу будешь попадать или на MSDN,
или в блоги TechNet, или в какую-нибудь базу знаний Microsoft, где все человеческим языком
расписано, почему данная ошибка возникает и как ее исправить. F1 прямо из "Студии" тоже
работает, как правило.

Во-вторых, изучи внимательно все опции компоновщика, чтобы знать его возможности, а
они местами достаточно интересные (есть и недокументированные, но очень полезные вещи, о
которых многие программисты вообще не знают):

Linker Options (VS 2015)
https://msdn.microsoft.com/en-... zbyt4.aspx
1
17 / 17 / 14
Регистрация: 06.08.2009
Сообщений: 507
17.01.2017, 20:58  [ТС] 8
Убежденный,
Цитата Сообщение от Убежденный Посмотреть сообщение
когда встречаешь в очередной раз ошибку, копи-пасти ее текст (или номер) в Гугл
и смотри, что тебе он ответит
Ну вот я скопипастил ошибку
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _cvLoadImage в функции _MyProc D:\Самообразование\C++\DllDemo\MyLib\MyLib\MyLib.o bj MyLib
Которая возникает, когда я попытался в dll-ке скомпилировать пример OpenCV, который отлично компилировался в консольном приложении, хотя в проекте, который компилиться в ddl-ку, я сделал все те же настройки для OpenCV, что и в случае консольного приложения. Нашел страницу msdn, но что там написано, вообще мне ни о чем не говорит. Ну вот например, первая причина:
Написание объявления символа отличается от написания определения символа. Проверьте правильность написания.
Вторая причина:
Используется функция, но тип или количество параметров не соответствует определению функции.
И как мне определить, какая из перечисленных причин может быть? В какую сторону вообще смотреть?
0
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
17.01.2017, 21:03 9
Цитата Сообщение от megabax Посмотреть сообщение
В какую сторону вообще смотреть?
Не указали линкеру библиотеки для линковки,
например, либо указали, но не те или не все.
0
16079 / 8681 / 2120
Регистрация: 30.01.2014
Сообщений: 14,960
17.01.2017, 21:11 10
Цитата Сообщение от megabax Посмотреть сообщение
В какую сторону вообще смотреть?
Еще раз все проверить.
Вот мануал в помощь. Очень часто причина в банальной невнимательности.

А вообще, на мой взгляд "отглючивать непонятные ошибки" никакая книга не научит, только опыт и еще раз опыт.
Если реальных проектов нет, где можно было бы набить руку, то можно компилировать что-нибудь опенсорное в каких-нибудь нестандартных условиях. Ну, например, проект glib версии 1.x собрать в Windows. Или Qt 5 собрать в Linux на базе ядра 2.4.x. Незабываемый опыт и ощущения гарантированы.
0
2055 / 1533 / 166
Регистрация: 14.12.2014
Сообщений: 13,345
17.01.2017, 21:26 11
Цитата Сообщение от megabax Посмотреть сообщение
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _cvLoadImage в функции
Вообще у линкера бывает два типа ошибок: undefined symbol и duplicate symbol. первая говорит о том что не добавлена какая то библиотека/сырец в проект вторая что в двух библиотеках/сырцах имеются символы с одинаковым именем, т.е. либо одинаково названные переменные либо функции с совпадающими именами и сигнатурой либо совпало название переменной и функции.
Других ошибок ни у микрософтовского ни у борландовского ни у какого другого линкера не видел. Кроме этих у линкера других ошибок в принципе быть и не может, во всяком случае при условии что все lib и obj в проекте читабельны а результирующий dll или exe писабелен.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2017, 21:26
Помогаю со студенческими работами здесь

Посоветуйте хорошую книгу по Visual studio c++
Нужно написать игру, но изучали только консольные приложения! Посоветуйте хорошую книгу по Visual...

Посоветуйте хорошую книгу по параллельному программированию на C++
Чтоб твердый акцент был сделан на теорию. После изучения стандарта сразу хочу вступить к изучению...

Посоветуйте хорошую книгу по созданию оконных приложений
Кто посоветует хорошую книгу по С++ - созадние оконных приложений. Просто не пойму как визуально...

Ищу хорошую книгу
Подскажите хорошую книгу по С++. С практическими задачами(только без математики), что бы примеры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru