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

Задать параметр для компоновщика в VS - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неправильное выделение байтов http://www.cyberforum.ru/cpp-beginners/thread516822.html
void *_upointer; int type:2; В классе присутствуют 2 переменные. Насколько я знаю, указатель занимает 4 байта, а int в данном случае должен занимать 1. итого: 5. когда использовал sizeof, вывело 8. Что не так?
C++ Правильно ли считываю матрицу? Ребят, правильно ли я считываю матрицу из файла? И еще: чтобы узнать размер матрицы, мне обязательно нужно открыть файл и, посмотрев ее кол-во строк и столбцов, сделать соответствующие изменения в программе (в смысле изменить размерность)? Ведь больше я никак не могу узнать, массив какой размерности мне нужен под ее хранение? #include<iostream> #include<fstream> //потоки #include... http://www.cyberforum.ru/cpp-beginners/thread516795.html
Указатель на уничтоженный массив C++
int *point; void func() { int mass; for(int i=0; i<16; ++i) mass = 16-i; point = mass; } int main()
C++ Зависает цикл
Спасибо, вопрос уже решил.
C++ математическое решение в С http://www.cyberforum.ru/cpp-beginners/thread516786.html
Решите пожалуйста в С
C++ Программа,которая считывает с клавиатуры текст Написать программу, которая считывает с клавиатуры текст и выводит на экран только предложения, состоящие из заданного количества слов. Среда DEV-C++ подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
13.03.2012, 10:10     Задать параметр для компоновщика в VS
Gepar, думаю тебе надо создать в памяти зашареную область для HINSTANCE процесса
Смотри что следует записать в коде DLL
C
1
2
3
4
5
6
7
#include "stdafx.h"
#include <stdio.h>
 
#pragma data_seg(".CBTHook")    // секция в памяти общая для всех процессов
HINSTANCE hInstance = NULL; // дескриптор нашего приложения
#pragma data_seg()      // конец секции
#pragma comment(linker, "/section:.CBTHook,rws") // даем права этой секции
Теперь твоя DLL "будет сидеть" всё время в одном месте, сколько бы процессов её не загрузили, это важно.

Теперь о клиенте, думаю можешь столкнуться с некоторыми подводными камнями. Так вот для хук-точек обязательно строй приложение через мьютекс, иначе куча загруженных экземпляров DLL повергнут систему в ступор
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BOOL Mutex(LPSTR szName)     // проверяет запущена ли уже копия
{
    HANDLE hMutex = CreateMutex (NULL, TRUE, szName);
    if (GetLastError() == ERROR_ALREADY_EXISTS)    
    {
        CloseHandle(hMutex);
        return FALSE;     // уже запущена
    }
    return TRUE; // все путем
}
//Вызов в коде клиента
if(!Mutex("CBTHook"))
{
    cout<<"CBTHook.dll уже в оперативном пространстве\n";
    cout<<"Осуществите её выгрузку\n";
    bContinue = false;
    nRetCode  = 1;
    }
    else
    if(!(bContinue = (hCBTHook = SetCBTHook(hDLL))))

Не по теме:

PS:Раньше отписать я не мог...

 
Текущее время: 01:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru