На C++ можно писать библиотеки, которые можно было бы использовать в др. языках программирования, в т.ч. не являющихся объектно ориентированными. В частности, меня интересовал вопрос о написании на C++ таких библиотек, которыми можно было бы воспользоваться в C. Я в курсе о том, что следует использовать extern "C", однако этим дело не заканчивается, поскольку по ходу реализации такой библиотеки выявляется большое количество подводных камней, которые следует как-то обходить.
Программирование, настройка и администрирование CAD систем
пятница, 2 августа 2013 г.
четверг, 1 августа 2013 г.
AutoCAD и nanoCAD: о совместимости .NET кода
nanoCAD хорошо развивается и кое в чём даже переплюнул компанию Autodesk. Причём это "кое-что" является весьма важной способностью, отсутствующей в AutoCAD и непонятно когда она в нём появится (в чём лично я вообще сомневаюсь). В данной заметке хочу разместить обсуждение кода, ориентированного на начинающих программистов и опубликованного в этой статье на хабре.
четверг, 18 июля 2013 г.
Локализация ISO/IEC 14977 : 1996(E) (Extended BNF)
Перевёл себе для работы Стандарт ISO/IEC 14977: 1996(E), описывающий Extended BNF.
Возможно материал будет интересен и др. людям, поэтому выкладываю результат в сеть для свободного использования. Обозначенная google-группа, создана для корректировки текущей версии перевода, замечания/исправления приветствуются.
Возможно материал будет интересен и др. людям, поэтому выкладываю результат в сеть для свободного использования. Обозначенная google-группа, создана для корректировки текущей версии перевода, замечания/исправления приветствуются.
суббота, 6 июля 2013 г.
Сборка MS Visual C++ проекта под платформу x64
Для того, чтобы скомпилировать MS Visual C++ проект под платформу x64, в настройках этого проекта потребуется выполнить несколько больше изменений, чем это обычно потребовалось бы для проекта написанного, к примеру, на .NET.
вторник, 2 июля 2013 г.
Объём утечки памяти при выделении её с помощью new для нулевого количества байт
Заинтересовал такой вопрос: если используя оператор new выделить память для массива, указав в качестве его размера значение 0, после чего не вызывать оператор delete, то будет ли утечка памяти, и если будет то в каком объёме?
суббота, 29 июня 2013 г.
Создание DLL консольными средствами Visual Studio
MS Visual Studio имеет графический интерфейс для разработки приложений и управления их проектами и решениями. Однако за кулисами всё выполняется консольными утилитами, так же входящими в состав этой IDE. В данной заметке я покажу маленький пример создания dll файла консольными средствами MS Visual Studio, с последующим его использованием в другом приложении. В качестве языка программирования использован C++. Весь приведённый ниже программный код можно набирать в любом текстовом редакторе (я использовал Notepad++).
среда, 19 июня 2013 г.
Баг компилятора MS Visual Studio 2012
Недавно наткнулся в MS Visual Studio 2012 на неприятный баг... Обозначенная в данной теме ошибка компилятора MS Visual Studio 2012 не является смертельной и её можно обойти (ниже способ будет указан), однако она опасна, т.к. наличие оной может неожиданно привести либо к неправильной работе программы (если в глобальном пространстве имён компилятором будет обнаружена другая функция с такой же сигнатурой, пусть даже не вами объявленная), либо, в противном случае, выдаст ошибку времени редактирования связей.
Подписаться на:
Сообщения (Atom)