— Microsoft Build Tools 2015 (https://www.microsoft.com/en-us/download/details.aspx?id=48159)
— MSVS targets (c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0[Web|WebApplications])
— MSVS 2015 Shell (Isolated) (should be at visualstudio.com in Tools for Visual Studio 2015 -> Visual Studio 2015 Shell sections) (https://connect.microsoft.com/VisualStudio/ExtendVS)
— .NET Framework 4.6 (http://www.microsoft.com/en-us/download/details.aspx?id=48137) or .NET Framework 4.6.1 (https://www.microsoft.com/en-us/download/confirmation.aspx?id=49981)
jameschambers.com
По работе уже месяца 3 сижу в студии и осваиваю проект на шарпе. Студия действительно удобна (помнится, я от неё плевался, и восторгался QtCreator, когда писал на плюсах).
Но вот надо тут наваять простенький TCP клиент-сервер на плюсах. Что я могу сказать. Поддержка ++ действительно отвратная. Что-то мне подсказыавет, что не случайно она на столько отвратная и MS продвигают шарп с его портабельностью на все их платформы путём вырабатывания рвтного рефлекса у девелоперов. В общем, поставил пока тазик рядом с рабочим местом.
blogs.msdn.com
Most of the important changes this release stem from MSBuild’s transition into Visual Studio:
— MSBuild and the VB/C# compilers are now available as a standalone package, Microsoft® Build Tools. This package is installed with Visual Studio 2013.
— We are simplifying MSBuild’s versioning story. Each version of Visual Studio will have a corresponding version of the Microsoft® Build Tools including MSBuild, the VB/C# compilers, and common tasks and targets that make up the 2013 Toolset. There will no longer be any sub Toolset versions. Visual Studio 2013 will exclusively use 2013 MSBuild and VB/C# compilers (assembly version 12.0) and the 2013 Toolset (ToolsVersion 12.0).
— The way MSBuild selects Toolset versions for command line builds is now identical to the way Visual Studio builds projects. If your projects build in VS, they will build from the command line. No more manually overriding Toolset versions and hunting down missing dependencies.
— MSBuild has a dependency on the latest Framework, .NET 4.5.1.
Most of the important changes this release stem from MSBuild’s transition into Visual Studio:
— MSBuild and the VB/C# compilers are now available as a standalone package, Microsoft® Build Tools. This package is installed with Visual Studio 2013.
— We are simplifying MSBuild’s versioning story. Each version of Visual Studio will have a corresponding version of the Microsoft® Build Tools including MSBuild, the VB/C# compilers, and common tasks and targets that make up the 2013 Toolset. There will no longer be any sub Toolset versions. Visual Studio 2013 will exclusively use 2013 MSBuild and VB/C# compilers (assembly version 12.0) and the 2013 Toolset (ToolsVersion 12.0).
— The way MSBuild selects Toolset versions for command line builds is now identical to the way Visual Studio builds projects. If your projects build in VS, they will build from the command line. No more manually overriding Toolset versions and hunting down missing dependencies.
— MSBuild has a dependency on the latest Framework, .NET 4.5.1.
visualstudiogallery.msdn.microsoft.com
Аддон для MSVS 2012 для миграции всех проектов в солюшене на другую версию вреймворка.
Вся жизнь перед глазами пролетела, но потом оказалось, что всё хорошо и проект после перезапуска восстанавливается.
Sub New(ByVal somevar, ByRef someother)
Эквивалент вот этого?
New(type somevar, type* someother)?
Иными словами, ByRef означает передачу указателя/ссылки/как его там?
— Ну, я ничего не знаю про X, однако в Y сделать $something — плевое дело. Правда Y работает далеко не на всех ОС, что и X, и вообще Y несколько другое, но там это легко сделать, да.
ZAYEBIS.
Есть пять платформ:
Unix x86
Unix x64
Windows x86
Windows x64
ARM
Теперь посмотрите результаты моих переборов констант на разных платформах
FreeBSD example 8.2-STABLE FreeBSD 8.2-STABLE #0 r120: Tue Feb 28 15:23:08 IRKT 2012 root@freebsd8-amd64.ispsystem.net:/root/src/sys/amd64/compile/ISPSYSTEM amd64
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.2 20070831 prerelease [FreeBSD]
__amd64
__cplusplus
unix
__unix
4 8 8
============================
Linux example 2.6.26-2-openvz-amd64 #1 SMP Wed Sep 21 04:25:23 UTC 2011 i686 i686 i386 GNU/Linux
Target: i686-linux-gnu
Thread model: posix
gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
__cplusplus
unix
__unix
linux
__linux
4 4 4
============================
Windows 7 MSVS 2010 x64
_WIN32
_WIN64
__cplusplus
4 4 8
============================
Windows 7 MSVS 2010 x86
WIN32
_WIN32
__cplusplus
4 4 4
Особенно меня взбесила разность констант _WIN32 и WIN32 на одном и том же MSVS 2010. 3 цифры в конце это размер переменных int, long int, (char*)
xcopy $(TargetDir)aaaa "$(ProjectDir)\extra"И получаю ошибку:
Ошибка 12 выход из команды "xcopy aaaa "\extra"" с кодом 4Вопрос: а где, собственно, пути?
msbuild myproj.vcxproj /p:Configuration=Debug
Создайте задел из пользовательских описаний их ожиданий от продукта.
...
"
заделКТО ЗАДЕЛ? КОГО ЗАДЕЛ? КАКОЙ ЗАДЕЛ? ШТО.
Солюшн — слишком крупная и мощная сущность для одной программы, хочу ПО ПАПОЧКАМ ЧТО БЫ РАЗДЕЛЯЛОСЬ. НАЖАЛ ДОБАВИТЬ ФИЛЬТР СОЗДАЛОСЬ И МОЖНО ПИСАТЬ КОД ВСЁ БУДЕТ ХОРОШО НЕ БУДЕТ ТЫСЯЧ ТЫСЯЧ ОДИНАКОВЫХ СИМВОЛОВ В БИНАРНИКОВ КУЧА ОДИНАКОВЫХ МЕЙНОВ ААААААА ААААА ИЕРАРХИЯ ИЕРАРХИЮ ФЕОДАЛИТ!
ЗАБЫЛ.
студия 2010.
#1570139 ? Да много когда.
Например, у меня такая функция:
extern "C" __declspec(dllexport) void* WINAPI __ProxyFunc9(UINT SDKVersion);
Надо чтобы она экспортировалась как Direct3DCreate9. Однако, если даже её назвать "Direct3DCreate9", то экспортнётся она как Direct3DCreate9@16 или _Direct3DCreate9, но не Direct3DCreate9. Через .def файл я смог позволить себе делать что угодно, но получить нужный результат.
Бтв, прокси-длл у меня почти готова, только оказалось что часть хукинг-логики придётся таки поместить внутрь прокси, ну да не беда.
Когда полезно то, что описано в Например, у меня такая функция:
extern "C" __declspec(dllexport) void* WINAPI __ProxyFunc9(UINT SDKVersion);
Надо чтобы она экспортировалась как Direct3DCreate9. Однако, если даже её назвать "Direct3DCreate9", то экспортнётся она как Direct3DCreate9@16 или _Direct3DCreate9, но не Direct3DCreate9. Через .def файл я смог позволить себе делать что угодно, но получить нужный результат.
Бтв, прокси-длл у меня почти готова, только оказалось что часть хукинг-логики придётся таки поместить внутрь прокси, ну да не беда.
Создаём файл .def с любым именем. Содержимое такое:
LIBRARY "имя_выходной_длл_без.dll"
EXPORTS
myfunc = __innerfunc0 @1
Функции добавлять пока не надоест, лол. Суть в том, что можно таким образом назвать функции как захочется, а импортнутся они как надо в результате. Можно и просто объявлять их через def без присваивания.
@1 — для порядка символов. @1, @2, @3 etc.
Но мало просто создать файл! Необходимо указать студии его использовать! Да, об этом на самом деле мало где пишут, но я нарыл в одном экземпле:
Настройки проекта — линковщик — ввод — Module definition file. Вводим имя файла и компилим.
void SimpleClass:: <ctrl>+<space>
И всё! Можно сделать кофе, поесть печенек, а ещё можно повеситься! АХАХАХА! Я сошёл с ума, да. Однако, когда приедут спасатели и снимут тебя, ты сможешь наблюдать как на скрине начинает вырисовываться неполный список методов. И знаете что? Того, что ты объявил в хёдере, там нет! АХАХАХХААХХАХА. Мне лечиться пора, думаю.
А ещё, если ты не можешь сразу написать валидный код, за один выдох, то студия начнёт обрабатывать и, если ты задумаешься над строкой, перед тем чтобы её допечатать, пометит весь код ошибками. И студии похуй что ты не поставил ";", но поставил её сейчас. Студия будет думать минут 10, пока не определит что ты пофиксил ошибку.
Я так уже раз 10 думал что я дурак, но опроверг сие компиляцией проекта. Оказалось это студия, блядь.
Ставлю эклипс, нахуй. Или нет?
Жена не любит? На работе не платят? Нет любовницы? Друзья бухают без тебя? Умер тамогочи? В WoW не достался лут? Проблемы с потенцией? Выключи в проекте поддержку CLR и всё будет лучше!
1>LINK : fatal error LNK1104: cannot open file 'libboost_log-vc100-mt-gd-1_47.lib'
Как так? Буст сам подключает библиотеки, но не те. Как решать эту проблему?
svn.boost.org — Кому нужно, патч для джем-скриптов буста, чтобы собрать это чудо под MSVS11. Сейчас собираю, но не факт что собираётся как нужно.
Так вот и ворую сейчас "ультимейт", чтобы поставить "вакс", который тоже придётся воровать.
blogs.msdn.com
Not sure if cool or bullshit =/
Introducing Debugger Canvas Not sure if cool or bullshit =/
habrahabr.ru Жаль, что будет работать только на Ultimate =(
А не плохой способ отладки: