Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / В нутри релиза содержится данные о классах и методах / 10 сообщений из 10, страница 1 из 1
25.12.2014, 14:05
    #38842837
Lisichkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Добрый день!
Собираю на VS 2008 CLR dll для MS SQL (Release)
Смущает, что внутри dll присутствуют данные о классах и методах
….
BaseForecast.GetTol BaseForecast.{ctor} list BaseForecast.ForecastParam ParamName BaseForecast.ForecastParams ?A0x93150492.??__E?tol@BaseForecast@@$$Q1NB@@YMXXZ ?A0x93150492.??__E?A0x93150492@INFO_DISCR@@YMXXZ ExponentialSmoothing.boxConstraints x xb ExponentialSmoothing.{ctor} ExponentialSmoothing.fcn m n fvec iflag ExponentialSmoothing.forecast index ExponentialSmoothing.ForecastParam ExponentialSmoothing.ForecastParams DblExponentialSmoothing.{ctor} _alpha _gamma DblExponentialSmoothing.fcn DblExponentialSmoothing.forecast DblExponentialSmoothing.ForecastParam
….

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

Помогите настроить параметры компилятора/линкера, что бы исключить отладочную информацию из релиза.

Опции компилятора:
/Ot /GL /D "WIN32" /D "NDEBUG" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHa /MD /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /nologo /c /clr:pure /TP /errorReport:prompt /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.XML.dll"

Опции линкера:
/OUT:"D:\Аптека\cForecast2\Release\cForecast.dll" /INCREMENTAL:NO /NOLOGO /DLL /MANIFEST /MANIFESTFILE:"Release\cForecast.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /LTCG /NOENTRY /DYNAMICBASE:NO /FIXED:No /MACHINE:X86 /ERRORREPORT:PROMPT
...
Рейтинг: 0 / 0
25.12.2014, 14:18
    #38842856
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
LisichkinВ релиз, я не хочу помещать отладочную информацию, но она каким-то образом
все-равно попадает в dll :(
Это не отладочная информация, это RTTI.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2014, 14:27
    #38842868
Lisichkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Dimitry Sibiryakov
Так почему содержется имена методов? Я думал что в RTTI содержится сдвиги в шестнадцатеричном формате.
Это же Cи а не Java с ее Reflection..
...
Рейтинг: 0 / 0
25.12.2014, 14:28
    #38842872
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Lisichkin, похоже ты путаешь отладочную информацию с метаданными .NET. От последних нельзя избавиться т.к. они являются неотъемлемой частью .NET сборок. Ситуация изменится после выхода технологии .NET Native которая позволит компилировать IL код в машинный и получать исполняемый файл без зависимостей от .NET. Однако пока неясно будет ли она работать для сборок создаваемых для MS SQL.

Единственное что можно сделать прямо сейчас это обфусцировать код.
...
Рейтинг: 0 / 0
25.12.2014, 14:38
    #38842893
Lisichkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
bazile
Да, про .NET сборку я не подумал, спасибо!

Но тогда почему в исходный dll попадает информация не только о ref class (управляемый класс) но и обычных классах и локальных функциях ??
...
Рейтинг: 0 / 0
25.12.2014, 15:07
    #38842953
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Lisichkin, потому что использование /clr:pure означает компиляцию всего кода в IL. Более подробно это описано в заметке C++ CLR Compilation и в MSDN .
...
Рейтинг: 0 / 0
25.12.2014, 15:13
    #38842963
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Это пограничный вопрос. Между .Net/C++.
...
Рейтинг: 0 / 0
25.12.2014, 15:26
    #38842980
Lisichkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Пересобрал dll с ключем /clr — "поддержка управляемого и нативного кода"

CREATE ASSEMBLY в MS SQL вывалилась с ошибкой:
CREATE ASSEMBLY for assembly 'cForecast' failed because assembly 'cForecast' is malformed or not a pure .NET assembly.
Unverifiable PE Header/native stub.

Я в коде использую много математических операций, поиск минимума функции нескольких переменных с помощью алгоритма Левенберга — Марквардта, использую быстрое преобразование Фурье, в общем быстрый найтивный код мне необходим...а так получается только обертка под .NET ???
:(
...
Рейтинг: 0 / 0
25.12.2014, 20:47
    #38843330
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Lisichkin, возможно ты выбрал неподходящий инструмент для своей задачи. Если тебе нужна максимальная скорость работы кода, то используй расширенные хранимые процедуры написанные на чистом C/C++ без .NET. Или же перенеси расчеты с SQL сервера на сторону клиента.

Lisichkinа так получается только обертка под .NET ???
Не понял что ты хотел этим сказать.
...
Рейтинг: 0 / 0
25.12.2014, 20:57
    #38843338
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В нутри релиза содержится данные о классах и методах
Lisichkin,

Оставляйте так, как было изначально. Нет ничего страшного в том, что имена классов и методов видны в бинарнике.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / В нутри релиза содержится данные о классах и методах / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]