AidarM: Все сообщения за 21 Января 2007 года

 
ПнВтСрЧтПтСбВс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

AidarM

аксакал
★★
Народ, ИМХО, как минимум преподавателям логики нужно посты Милитариста конспектировать. :D
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
KILLO>А слабо не выдирать из контекста?
Не слабо. Я как бы заметил, что к смыслу гоблинского текста вы претензий не озвучили, а озвучили к тому, что именно Гоблин его накатал. Вот я и спросил, а были бы у вас претензии к кому-то другому, если бы он такой же текст набрал?

Если нет, то следующий мой вопрос был бы: а какая нахрен разница, кто текст пишет, с т.з. анализа качества самого содержимого текста? Да хоть Пол Пот с Гитлером бы это написали, добавив рядышком таблицу умножения. Ведь из одной только ублюдочности Пол Пота лживость текста про Познера и неправильность таблицы умножения ну никак не следует.

И мне всерьёз непонятно, почему Гоблин не должен был писать того, что он написал.
Солипсизм не пройдёт! :fal:  
Это сообщение редактировалось 21.01.2007 в 16:36

AidarM

аксакал
★★
>Цыганам по душе красный цвет... Ну и старые Лады. Обратите внимание на мелкие детали... ;)
Жигули радиотехнической разведки... Антенн понатыкано, да еще приблуды, кои тоже сойдут за экзотические разновидности антенн. :D

А вот "ушастому" "Запорожцу" надо воздухозаборники переделать в ковшовые - типа качество повышаем и вообще... :D ЗАЗ-969М3 :lol:

За первые 3 цифры после ЗАЗ не ручаюсь.
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
Так KILLO не разрешает. :D Именно Гоблину точно нельзя про Познера так писать. Можно ли другим - ждем ответа КИЛЛО. :D
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
Значит, есть МатЛАБ, отдельные куски проги для него пишутся на С/С++.
Делается dll-ка, которая вызывается потом из проги как функция. Собс-но, dll-ка экспортирует функцию с названием mexFunction.

Так вот, при переходе с VStudio 2003-го года на 2005го, МатЛАБ перестал эту функцию из dll-ки отлавливать. Т.е. перекомпилируем под VС 2005м ту же прогу, и результат не работает с МатЛАБом. dllку он видит, но ругает ее нехорошим словом "invalid". Есть подозрение, что при компилировании происходит искажение имени, добавляются всякие символы подчеркивания, или еще что. Но точно не знаю.
Где этот вариант лечится в настройках?

В общем, у кого какие мысли, и как это лечить?
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
>Это называется name mangling. Компилятор С++ добавляет нехорошие символы для того, чтобы закодировать типы параметров и возвращаемого результата. Типичная беда всех С++ компиляторов.
Впервые столкнулся с этим на VS 2005, т.е. VC++ 8

>Совет — если не требует сам МатЛАБ не требует С++ интерфейса, то все фунции экспорта должны быть чисто С — используй конструкции:...
Не требует. Попробовал. Результат тот же. Dll-ка спокойно создается, а МатЛАБом не признается.

>Можешь привести пример, как у вас описаны функции при экспорте?
Описаны очень тупо. :D dll-ка экспортирует только одну функцию, её имя и набор аргументов жестко заданы МатЛАБовским стандартом.

Стало быть, я делаю MyFun.def, в котором пишу:
LIBRARY MyFun.dll
EXPORTS mexFunction

А сама функция в исходнике имеет продиктованный МатЛАБом вид:

void mexFunction(int nOut, mxArray* pOut[],int nIn, const mxArray* pIn[])
{...}
Тип mxArray описан в соотв. заголовочниках и библиотеках, поставляемых с МатЛАБом для уймы разных компиляторов(кстати, это добро у МатЛАБа только для версий VC до 7.1 включительно, однако было время, когда я 7мым VC++ делал dllки из библиотечек для 6го, и все работало на ура). Собс-но, компилируется все нормально, dllка просто не распознается.

Скорее всего, я не угадал с причиной.
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
>Гарантирую, что с 6 и 7.0 (VC 2002) работать не будет. :) У них там как раз name mangling менялся. :)
Я делал dllки именно на 6, перекомпилировал на 7.0 (VS2002 у меня есть). Работало. Собственно, VS 2005 опознал solutions от старых версий и преобразовал без проблем. В исходниках ничего менять не требовалось. Такое ощущение, что в VS 2005 в виду возросшей строгости приближения к стандарту, стало необходимым какую-то настройку указывать явно. А какую - не знаю.

>Чего-то это утверждение противоречит ниженаписанному.
Не понимаю.

>Можешь дать ссылку на доки про интерфейс.
Я с матлабовского хелпа в основном учился.

>Дай описание этого типа. Если это классы, то точно не будет работать. И extern "C" не поможет. Тут надо с авторов МатЛАБа стрясать новый интерфейс.
Это наверняка класс. Все объекты в МатЛАБе имеют этот тип, преобразуются в него. И строки, и матрицы, и многомерные массивы, и числа.

>Посмотри на имена, которые экспортируются в полном представлении — и для 7.1 и для 8 — увидишь разницу.
А как это делается (ну ламер я)?


Слепленные функции называются MEX-файлами.
Тут был предположительно закопирайченный текст.

Да, яростно пишут C-code, а не C++, это я тоже заметил.
Солипсизм не пройдёт! :fal:  
Это сообщение редактировалось 21.01.2007 в 20:06

AidarM

аксакал
★★
Убрал закопирайченное.
Солипсизм не пройдёт! :fal:  
Это сообщение редактировалось 21.01.2007 в 20:05

AidarM

аксакал
★★
Т.е. вот вам, товарищи юзеры, пример. Вот вам имя нашего универсального типа данных. Вот вам (объявленные и слепленные внутри фигня.h и фигня.lib) функции, для операций с нашими объектами. Юзайте компиляторы такие-то (примеры даны только для Visual C), подключайте библиотеки и пишите. А как эти чертовы компиляторы настраивать - не сказали.

Похоже, пора МатЛАБ обновлять, чтобы исключить вариант со старыми библиотеками.
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
А я слышал, что он был профессором математики.
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
На бред очень, очень похоже. Пофантазировать, тем не менее, можно. :D
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
Ну, я поставил 64битную ХР. А другого-то софта, оптимизированного под 64 битный проц-то и нету у меня. :P МатЛАБ 7.01 заработал на процентов 10-15 быстрее, но если программка использует написанные на С куски, то наоборот, медленнее, процентов на 30-40. Одна игрушка была у меня - Блицкриг. Не знаю, как с ресурсоемкостью, доп. тормозов не углядел. Но я и не играл толком. Изначально пустая ХР64 отъедает больше оперативки, чем обычная, раза в полтора где-то.

Заимев Visual Studio 2005, надеялся, что куски Сшного кода заработают быстрее, ибо она позволяет компилять под 64битный проц. Так вообще не могу заставить работать, жалуюсь в соседнем топике. :D

Общее ИМХО: пока не будет уймы софта, написанного существенно 64битным компилятором, какого-то прогресса не ожидайте. Наоборот, есть мысля, что будет в основном подтормаживание.
Солипсизм не пройдёт! :fal:  

AidarM

аксакал
★★
А можно и реалистичный механизм прикинуть.
Солипсизм не пройдёт! :fal:  

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru