Re[14]: а если так ?
От: Pavel Dvorkin Россия  
Дата: 11.12.13 08:05
Оценка:
Здравствуйте, Сергей Мухин, Вы писали:

СМ>Еще раз. lib — это контейнер — набор .obj файлов. Можно руками взять из одной библ и добавить в другую библ, но когда она будет отображаться на .exe/.dll то будет выбрана одна копия .obj (все это приблизительно)


Это я понимаю, конечно, но почему-то полагал, что при сборке lib код, от которого она зависит, в нее "переползает". Видимо, повлиялаа на меня аналогия со сборкой EXE — там именно переползает.

Да, ты прав. Сейчас проверил. Для того, чтобы либу собрать, иметь либу, из которой ее функции вызываются, не требуется.



void g();

void f()
{
    g();
}


и либа готова, хотя кода g вовсе и нет, и откуда он берется — пока что неизвестно.

СМ>В вот exe/dll это не набор obj файлов.


Конечно.

СМ>при этом Lib строит утилита lib.exe, а exe/dll — link.exe (имена вымышленные, любые совпадения с реальными... )

СМ>И как после этого можно удивляться что они работают по разному?

Вот это не аргумент ИМХО. Почему бы двум программам в чем-то не работать одинаково ?


СМ>не часто встретишь на форумах такие признания




Жаль. И все-таки : никаких принципиальных соображений, почему нельзя бы поместить в АП 2 копии одного и того же кода, я не вижу. То, что так не получилось — вопрос реализации, а не принципа.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.