Это каких таких библиотек? Если dll, то никто не мешает из асма подключать. А если статическая линковка то не вижу вообще преимущества по размеру - какая разница код в либе или в твоём коде? Всё равно в конечном итоге бинарь один и тот же получится... А на асме по определению код будет меньше и быстрее - если конечно программер не ламак. По поводу затрат времени и труда и трудности поддержки в принципе согласен. Но разбираться даже в сишном чужом проекте тоже приятного мало...
Меня довольно мало волнует объём бинарного кода. И скорость, в общем, тоже. Меня гораздо больше волнует объём исходного кода, в строчках. Чем его больше, тем сложнее поддерживать и разбираться. А библиотеки бывают разные, не только dll. Есть жабовские библиотеки, есть С++-ные, есть .net-ные. И те и другие и третие очень сложно использовать из других языков. Скорее всего, и в тех и в других и в третьих есть библиотеки для работы с помянутой КОРБОй. И очень маловероятно, что такая готовая библиотека есть для асма В чужих проектах вообще малоприятно разбираться Очень этого не люблю, такое иногда попадается: смотришь и думаешь, что же этот код делает, и почему он вообще работает? Но уж разбираться в чужом большом асмовом проекте - вообще финиш (хотя я не пробовал ). Не случайно даже ОС перестали на чистом ассемблере писать.
Да, поясню про библиотеки. Например, у C есть замечательный рантайм. Он позволяет писать такие коротенькие программы: Код (Text): #include <stdio.h> #include <time.h> int main() { time_t ltime; time( <ime ); struct tm *newtime = gmtime( <ime ); printf("Hello, world! Today is %d.%d.%d\n", newtime->tm_mday, newtime->tm_mon + 1, newtime->tm_year + 1900); } Аналогичная программа на асме будет длиннее и сложнее - нету функции printf, нету функции time, нету gmtime. Конечно, программист может написать их сам, но из-за этого его программа станет значительно больше, повысится вероятность ошибки, при чтении сложнее будет вычленить собственно суть программы. Кроме того, библиотечные функции стандартны, их более-менее знает любой другой программист на C. А самодельные функции каждый раз приходится изучать заново.
Если мы говорим о Windows, то проблемы с библиотеками нет ни у какого языка, который может подключать dll и использовать функции со стандартными соглашениями о вызовах. printf, time и gmtime есть в стандартных dll-библиотеках.
не верю Ну ладно слышал про жабавские и нетовские библиотеки, но вот что еще за новый класс такой C++ые библиотеки ??? имхо это бред грубоговоря C - это "ассемблер высокого уровня" C++ - это C с классами В C/C++ есть 2 типа библиотек это lib'ы и dll'ки и то и то это машинный (читай ассемблерный код), а для сей есть корбовские бибилиотеки, которые можно без проблем использовать из асма. А по поводу жабавских и нетовских - если [], то можно и их использовать из асма, хотя согласен, что это неоправданно по затратам. осторожнее с матом, это запрещено правилами
pentaha про stl слышал? Про ATL, WTL, грёбаный MFC в конце концов ? Использовать библиотеки классов из языка отличного от C++ очень сложно. Даже если эта библиотека собрана в виде dll.
2 sergh С stl согласен - это вещь !!, хотя она скорее всего относиться к библиотекам шаблонов как вообщем-то и ATL и WTL. Я для различаю библиотеки шаблонов и библиотеки классов, то есть для меня это две совершенно разные вещи с разной идеологией программирования и тп, поэтому я сразу не понял, что ты имеешь в виду. Библиотеки шаблонов (да вообщем-то как и сами библиотеки) - это лишь наворот компиляторя языка СИ. Думаю, что для тебя не секрет, что классы можно реализоватьи на С и на асме с такой же двоичной структурой как и на С++, только так ты это будешь делать вручную, а так за тебя это сделает компилятор. Что касается шаблонов - это расширенный вариант #define'ов, опять таки поддерживаемых компилятором, поэтому говорить об использовании из других языков такие вещи как шаблоны - это бред. Тоже самое - я напишу библиотеку с макросами на асме без продуманных интерфейсов доступа к ней со стороны не асма и буду говорить, что ее нельзя использовать на C++, если не скомпилировать и тп. а по поводу этих c++ приблуд ATL - канул в лету (как и COM-технология) WTL - а она еще развивается, если да, то кто этим занимается ? грёбаный MFC - канул в лету а вот stl- это вещь
CrazyFun По дровам для разных винд сертифицирует MS и делает это не бесплатно. По прошивкам биосов, сетевых карт и т.д. сертифицируют производители этого оборудования.
Добавь к этому "имхо", т.к. утверждения являются просто недалёкими суждениями СОМ - это только часть ATL. Но технология будет жить, пока будет Win32. Приход очередного фреймворка (дотнет) не значит, что он заменит всё остальное. http://wtl.sf.net. И не говорите, что она умерла/умрёт - она будет жить, пока есть ATL. Основания утверждения? Впрочем, можно не отвечать, ибо это породит оффтоп и флейм.
хотел бы добавить, что интеропы для дотнета пишут обычно на ATL'e... но нормальные пацаны могут конечно попробовать написать это на асме ))