Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Переделать строчный калькулятор через ООП https://www.cyberforum.ru/ cpp-beginners/ thread1233419.html
Друзья, имею отличный строчный калькулятор, сделанный через процедурное программирование. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h> //#include <string> using namespace std;
Смещение в файле более 4 Gb C++
Всем привет. Есть необходимость хранить смещение на данные в файле(памяти), который более 4 Gb. Задача тривиальна. Нужно использовать c++99. Единственное что приходит в голову, это хранить смещение в виде структуры (fourGbOffsetsNumber, simple1byteOffset). Не подскажите как выйти из положения?
C++ Метод половинного деления для функции от двух переменных https://www.cyberforum.ru/ cpp-beginners/ thread1233397.html
Это программа для функции от одной переменной, а можно этот же метод использовать для функции от двух переменных, например? #include <iostream> #include <cmath> using namespace std; const double epsilon = 1e-2; double f(double x) { return 4- exp(x) - 2*x^2;
C++ Является ли правильным проектирование классов с методами у которых есть определённый порядок вызова Всем привет. Вопрос к опытным программистам: Является ли в С++ практике правильным проектирование классов с методами у которых есть определённый порядок вызова и однократность в использовании? Примеры: 1) класс соединения с методом Open() который можно вызвать один раз 2) класс с методом SendQuery() который можно выполнить только один раз так как в нём происходит выделение памяти 3) класс с... https://www.cyberforum.ru/ cpp-beginners/ thread1233390.html
C++ В каких случаях нужно создавать динамические переменные, а в каких статические?
такой же вопрос и по массивам ! Объясните пожалуйста !
C++ Задача моделирования и управление движением Суть в том что, клетка находится изначально в любой клетке(например в верхней) и пользователь должен управлять ей (как я понял пользователь сначала выбирает направление по часовой или против, потом продолжать двигаться по кругу или свернуть). На каком ЯП будет написано не важно. Спасибо что помогли. https://www.cyberforum.ru/ cpp-beginners/ thread1233292.html
C++ Архитектура больших программ https://www.cyberforum.ru/ cpp-beginners/ thread1233281.html
Здравствуйте! Пишу довольно большую и комлексную программу. Вопрос - как следует организовывать её внутреннюю структуру? На текущий момент у меня есть дюжина взаимодействующих между собой синглтонов (dataManager, filesManager, userInterfaceManager, inputManager, yetAnotherLongEnglishWordManager, etc), которые обновляет главный цикл. Однако я слышал много разной критики на паттерн singleton,...
C++ Как создать функцию, если тип возращаемого значения становится ясным в процессе работы функции
//класс одномерный массив template<typename T>class ARRAY1{ public: T*pointer; double size; ARRAY1(){ pointer=0;//пустой массив. size=0; } ARRAY1(double n){
C++ Что выбрать: пользовательский цикл или стандартный алгоритм с предикатом https://www.cyberforum.ru/ cpp-beginners/ thread1233243.html
Всем привет. Рассмотрим код (C++03, не C++11): #include <algorithm> #include <iostream> #include <iterator> #include <list> #include <map> #include <string>
C++ Ошибка при создании проекта, говорящая о том, что неверно установлен SQL Server При создании проекта высвечивается окно Нажимаю ок, создаю пишу исходный код и ошибки компилятор не подсвечивает вообще SQL server установлен Добавлено через 25 минут Решил проблемму переустановкой SQL server https://www.cyberforum.ru/ cpp-beginners/ thread1233240.html
C++ Прочитать данные из файла и построить график
Программа, у которой не ясно, откуда ноги растут У меня есть программа, которая выдаёт данные в формате DAT. Там есть названия колонок и их значения по всему документу (т.е. вручную перебивать смысла нет) Задача: написать прогу, в которой есть диалоговые окна, которые определяют начальные параметры (грубо говоря, какие колонки мне нужно считать и из какого файла), затем прога ищет этот файл по...
C++ Создание статической функции класса, которая принимает экземпляр этого же класса как объект https://www.cyberforum.ru/ cpp-beginners/ thread1233233.html
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void PrecalculateModel(int& vertexCount, int& faceCount); static void ReadModel(Model& model); Point* vertex;
18895 / 9853 / 2410
Регистрация: 30.01.2014
Сообщений: 17,297
24.07.2014, 23:46 0

После возвращении вектор пуст, хотя в dll size другая информация - C++ - Ответ 6459260

24.07.2014, 23:46. Показов 632. Ответов 7
Метки (Все метки)

Ответ

Цитата Сообщение от Vardanito Посмотреть сообщение
есть структура хочу из длл получить массив таких структур
C++
1
2
3
4
5
6
7
8
9
10
extern "C" MyStruct * createMyStructs(size_t * size);
extern "C" void freeMyStructs(MyStruct * structs);
//.................
 
size_t size;
MyStruct * array = createMyStructs(&size);
 
//..........
 
freeMyStructs(array);
А вообще, это зависит от задачи. Иногда можно вообще ничего не возвращать, а сделать заполнение какого-либо контейнера через callback-функтор.
Или все-таки можно использовать вектор, но для этого должны быть особые условия. Одинаковый компилятор (вплоть до версии), одинаковый С++ runtime на обеих сторонах (exe и dll) в количестве одной штуки на всех. Вектор передавать по ссылке. Но, вообще, обычно так не делают. Непереносимо и очень легко поломать все.
Есть простое правило, ресурс должен быть освобожден на той же стороне, на которой был выделен. Т.е. если ты массив создал в dll, то и разрушать его должен там же. Если его придерживаться, то большинство проблем можно будет избежать.

Вернуться к обсуждению:
После возвращении вектор пуст, хотя в dll size другая информация C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2014, 23:46
Готовые ответы и решения:

Глобальный вектор. Почему на выходе этот массив пуст?
юзаю либу вектор. почему на выходе этот массив пуст? std::vector&lt;int&gt; qw;//global int main() {...

MonoDevelop: нужны ресурсы и любая другая информация
Доброго времени суток коллеги. На c# уже программирую с пол года. Сейчас хочу создать...

Парсинг страниц: нужны статьи, книги и другая информация
Всем привет, интересуют все возможные статью на эту тему, заранее благодарен.............

Нужен WPF учебник или другая информация для изучения
Подскажите пожалуйста кладезь инфы по работе с WPF.

7
24.07.2014, 23:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2014, 23:46
Помогаю со студенческими работами здесь

HtmlAgilityPack и HTTP авторизация: нужны примеры, ссылки и любая другая информация
Всем привет! Кто сталкивался с HtmlWeb класса HtmlAgilityPack для HTTP авторизации? Если можно...

После сохранения FileName пуст
Все доброго времени суток. Проблема: после открытия диалогового окна, введении имени и сохранении...

Компилятор как будто не видит scanf, а fgets выполняет перед printf, хотя расстановка абсолютно другая
В-общем, тема такая: читаю учебник, написано создать прогу для поиска текста в массиве строк....

Ошибка: firebird Size Mismatch - Field GROUP size is too small for data
Возникла проблема, пишет Size Mismatch - Field FULL_ADR size is too small for data ошибку, которой...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru