Форум программистов, компьютерный форум CyberForum.ru

Вывод в консоль из dll - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция суммирует каждый третий элемент (если он положительный) и возвращает полученную сумму http://www.cyberforum.ru/cpp-beginners/thread950915.html
Здравствуйте! Помогите пожалуйста, начал изучать С++ и вот остановился на такой задаче, если не сложно объясните как делать.. Написать функцию которая из передаваемого ей произвольного одномерного вещественного массива длиной N элементов выбирает и суммирует каждый третий элемент (если он положительный) и возвращает полученную сумму. N не больше 999.
C++ Самый хитрый код (Несерьезная тема) Вот, собственно нашел в интернете код #include <cstdio> double m= {7709179928849219.0, 771}; int main() { m--?m*=2,main():printf((char*)m); } http://www.cyberforum.ru/cpp-beginners/thread950904.html
Отредактировать код, чтобы он заработал C++
int a;инициализирован int ...b...=a; как дописать чтобы сработало? вместо ... нужно что-то дописать, чтобы сработало Нужно срочно. Помогите, пожалуйста
C++ как сделать override метода
пытаюсь сделать override метода в С++ классе, но не выходит. Вместо этого метод переопределяется полностью, не выполняет код родительского метода. Что делаю не так? заголовок классов: #include <iostream> using namespace std;
C++ Азы классов. Подскажите, плз http://www.cyberforum.ru/cpp-beginners/thread950862.html
Здравствуйте! Помогите, пожалуйста, разобраться. Вот код: class Name_pairs { public: string name; int age; vector<Name_pairs> names; Name_pairs (string n, int a)
C++ Подскажите литературу о многопоточности! Начинал читать QNX/UNIX Анатомия Параллелизма О.Цилюрик Е.Горошко, но там упор делается на QNX... Хотелось бы что-то связанное с многопоточностью вобщем и многопоточному программированию на С++ (желательно в одной книге). Что предложите? :help: Добавлено через 3 минуты В теме "Литература С++" ничего такого не заметил. Если есть, то ткните носом:rtfm: подробнее

Показать сообщение отдельно
gomodril
 Аватар для gomodril
6 / 6 / 0
Регистрация: 10.10.2012
Сообщений: 102
11.09.2013, 11:50  [ТС]     Вывод в консоль из dll
Цитата Сообщение от Raali Посмотреть сообщение
Предполагалось что функция вызова окна консоли будет вызываться из дллки приложением, не в тот момент когда дллка подключается, а в тот момент когда приложение захочет этого (вызовет функцию из длл).

Мьютекс нужен для того, если все таки кто то(другой процесс) попытается второй раз запустить данное окно (и нам это не нужно), это как переменная, которая находится в межпроцессорном пространстве
А у меня разве не приложением вызывается окно консоли из dll? Если нет, то можно какой ни будь пример посмотреть?
Про класс мьютекс уже начал читать, это я так понимаю можно и на исключениях создать, правильно?

Добавлено через 20 часов 19 минут
Вынес AllocConsole из DllMain. Получилось вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
MT4_EXPFUNC void __stdcall ProcessOneArray(double *arr,int row)
    {
    HANDLE hOut=0;
    if(hOut==0)
        {
        AllocConsole();
        FILE *hOut = _fdopen(_open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE),2 /* _O_TEXT */),"w");
        *stdout = *stderr = *hOut;
        //cout << "hOut DO" << "\t" << hOut << endl;
        //_getch();
        }
 
    clrscr();                                   // Очищаем экран clrscr();
    cout << "row :" << row << endl;
    cout << endl << endl;                       //Перевод каретки ниже на две строки
 
    vector<double> am(arr,arr+row);
    int col2=am.size();
    cout << "size :" << col2 << endl;
    for(int i=0; i<row; i++) cout << fixed << setprecision(5) << am[i] << endl;
 
    if(hOut!=0)
        {
        cout << "hOut POSLE" << "\t" << hOut << endl;
        _getch();
        FreeConsole();
        hOut = 0;
        }
    }
Что самое интересное, FreeConsole ни разу не вызвалось по причине hOut = 0. Что сделано не правильно, ведь процесс как то уничтожается и без FreeConsole.
 
Текущее время: 05:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru