|
5 / 5 / 1
Регистрация: 22.04.2015
Сообщений: 57
|
||||||
Написание кроссплатформенной библиотеки на C++02.01.2017, 14:46. Показов 5200. Ответов 27
Метки нет (Все метки)
Планируется написание кроссплатформенной библиотеки на C++ с возможностью подключения к C# для работы в Windows. В библиотеке будет функция, которая принимает строку как аргумент. Вопрос заключается в следующем какой тип данных из C++ лучше подойдет для работы со строками и как реализовать поддержку Unicode на Linux и Windows одновременно. Т.к. Unicode в данных системах отличается по размеру, занимаемому в памяти?
Пример планируемой функции:
0
|
||||||
| 02.01.2017, 14:46 | |
|
Ответы с готовыми решениями:
27
Создание 100% кроссплатформенной библиотеки
Написание библиотеки |
|
31 / 31 / 15
Регистрация: 02.02.2015
Сообщений: 152
|
|
| 14.01.2017, 16:11 | |
|
ANDANTINO, посмотрите Подключить dll на c++ к c# (DllImport)
0
|
|
|
5 / 5 / 1
Регистрация: 22.04.2015
Сообщений: 57
|
||||||||||||
| 14.01.2017, 17:21 [ТС] | ||||||||||||
|
wmaster575, то что вы предлагаете я умею делать. И другие функции из библиотеки хорошо работают. Проблема только с функцией, которая подключается через макрос:
И еще вопрос к Fulcrum_013, когда вы говорили про классы строк вы имели ввиду string и wstring и др.? Если да, то вы предлагаете что-то вроде: Первый вариант.
0
|
||||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 14.01.2017, 17:44 | ||
|
Вариантов подменить тип в зависимости от дефайна целевой платформ в С++ есть два. Оба вы написали. при этом лучше пользовать с typedef. Он видит скопы и т.д. и т.п. т.е видится именно компилятором именно как тип а не как макроопределение которое вы видите один текст а компилятор совсем другой.
1
|
||
|
5 / 5 / 1
Регистрация: 22.04.2015
Сообщений: 57
|
||||||
| 14.01.2017, 19:42 [ТС] | ||||||
|
Fulcrum_013, а стандартные классы std для работы со строками подойдут, такие как string или wstring?
И что вы думаете про такой вариант? Конечно он больше под Windows орентирован, но все же.
0
|
||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 14.01.2017, 20:06 | ||||||||
0
|
||||||||
|
5 / 5 / 1
Регистрация: 22.04.2015
Сообщений: 57
|
|
| 14.01.2017, 20:37 [ТС] | |
|
Fulcrum_013, большое спасибо за помощь и четкие ответы.
Пойду продумывать архитектуру библиотеки с новыми знаниями по теме.
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 14.01.2017, 20:45 | ||
|
0
|
||
|
5 / 5 / 1
Регистрация: 22.04.2015
Сообщений: 57
|
|
| 14.01.2017, 20:54 [ТС] | |
|
Fulcrum_013, еще раз спасибо за совет. На С++ давно не писал, перешел на C#, поэтому не все помню, а тут как раз задача нужно чужой код на С++ обернуть в dll-библиотеку и подключить к C#. Думаю, основные трудности уже преодолены осталось полегче задача.
0
|
|
| 14.01.2017, 20:54 | |
|
Написание библиотеки Java
Написание библиотеки для воспроизведения MP3 Написание dll - библиотеки и ее открытие средствами Delphi Как сделать программу кроссплатформенной? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|