1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
1 | |
Задать параметр для компоновщика в VS12.03.2012, 14:40. Показов 1624. Ответов 7
Метки нет (Все метки)
Рассматриваю один из примеров Петзолда где общая память расшаривается через библиотеку для нескольких экземпляров приложения, вот только если у Петзолда она расшаривается то у меня нет (одновременно запущенные экземпляры приложения не видят данных других экземпляров). Единственное что я не сделал к этому примеру это:
Код
Компоновщику необходимо сообщить об области памяти shared. В командной строке компоновщика задайте параметр -SECTION следующим образом: -SECTION: shared, rws Буквы "rws" обозначают, что область памяти имеет атрибуты для чтения (read), записи (write) и разделения (shared) данных. Могу привести код либы и проекта (они совсем небольшие, всё предельно просто), если это необходимо.
0
|
12.03.2012, 14:40 | |
Ответы с готовыми решениями:
7
Задать функцию как параметр функции Задать элемент массива функций как параметр функции Задать GET параметр для ссылок Как задать параметр для web-сервиса? |
Заблокирован
|
|||||||||||
13.03.2012, 10:10 | 2 | ||||||||||
Gepar, думаю тебе надо создать в памяти зашареную область для HINSTANCE процесса
Смотри что следует записать в коде DLL
Теперь о клиенте, думаю можешь столкнуться с некоторыми подводными камнями. Так вот для хук-точек обязательно строй приложение через мьютекс, иначе куча загруженных экземпляров DLL повергнут систему в ступор
Не по теме: PS:Раньше отписать я не мог...
1
|
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||||||||||||
13.03.2012, 17:43 [ТС] | 3 | ||||||||||||||||||||
-=ЮрА=-, ну код я конкретно Петзолда рассматривал, он там массив pszStrings расшаривал.
Код выглядит так: Lib.h
Далее код использующий эту либу: ресурсы (меню с двумя пунктами и два диалоговых окна) Код
#include <windows.h> #include "main.h" StrProg MENU { MENUITEM "&Enter!", IDM_ENTER MENUITEM "&Delete!", IDM_DELETE } EnterDlg DIALOG 24, 24, 190, 44 STYLE WS_POPUP|WS_DLGFRAME { LTEXT "&Enter", 0, 4, 8, 24, 8 EDITTEXT IDD_STRING, 32, 6, 154, 12 DEFPUSHBUTTON "Ok", IDOK, 44, 24, 32, 14 PUSHBUTTON "Cancel", IDCANCEL 114, 24, 32, 14 } DeleteDlg DIALOG 24, 24, 190, 44 STYLE WS_POPUP|WS_DLGFRAME { LTEXT "&Delete", 0, 4, 8, 28, 8 EDITTEXT IDD_STRING, 36, 6, 150, 12 DEFPUSHBUTTON "Ok", IDOK, 44, 24, 32, 14 PUSHBUTTON "Cancel", IDCANCEL, 114, 24, 32, 14 }
Петзолд пишет что нужно мол дать компоновщику понять что использоваться будут расшаренные ресурсы, но я так и не нашёл куда это приписать (метод тыка не помог). С кодом вроде всё ок и так, то что расшарено через pragma проинициализировано как и требуется чтобы оно было расшарено. Может можно как-то задавать параметри для компоновщика в коде там в начале или ещё чего хитрое? Какая-то же возможность должна быть же ... Добавлено через 8 минут Хм, попробовал добавить
Добавлено через 8 минут Всё же что-то в примере не то, так как даже скопипастив код из книги приложение вылетает если работает несколько экземпляров, почему-то не удаётся у них делить память, хотя визуально вроде код в порядке .
0
|
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||
13.03.2012, 18:22 [ТС] | 5 | |||||
-=ЮрА=-, ну это и так понятно, если что-то не правильно указать то vs предупреждает что мол
0
|
Заблокирован
|
||||||
13.03.2012, 18:25 | 6 | |||||
- да говорю же имя зашареной секции)))
0
|
Заблокирован
|
||||||
13.03.2012, 18:36 | 7 | |||||
Вот код
0
|
|
13.03.2012, 18:37
Задать параметр для компоновщика в VS
#8
|
0
|
13.03.2012, 18:37 | |
Предупреждение CA1009 Объявите первый параметр для параметр для 'MyDelegate' как объект с именем "sender Как иначе задать параметр? Задать переменной обработанный параметр Как задать EditControly параметр ReadOnly? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |