Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > kernel32.dll


Автор: LastAngel 19.6.2008, 12:17
Проблема в следующем : прога не хочет находить dll на другом компе. 
Можно ли без подключения kernel32.lib из ddk в проект, сделать предикларацию классов из этой dll,она ж есть в папке system/system32 ? И если да, то как это реализовать ?

Автор: W4FhLF 19.6.2008, 12:35
Ничего непонятно, что тебе надо. 

Цитата(LastAngel @  19.6.2008,  12:17 Найти цитируемый пост)
Проблема в следующем : прога не хочет находить dll на другом компе. 


Что за прога и как это проявляется?

kernel32.dll грузится в ЛЮБОЙ процесс, независимо хочешь ты этого или нет, используешь(а ты ессно используешь) функции из этой библиотеки или нет.

Цитата(LastAngel @  19.6.2008,  12:17 Найти цитируемый пост)
Можно ли без подключения kernel32.lib из ddk в проект, сделать предикларацию классов из этой dll


Что за классы? В kernel32.dll нет никаких классов. 

Автор: LastAngel 19.6.2008, 12:47
программулька моя использует функцию GlobalMemoryStatusEx при запуске на другом компе ... ругается что не находит kernel32.dll

не классы, а функции конечно ...

Добавлено через 9 минут и 46 секунд
Цитата(W4FhLF @ 19.6.2008,  12:35)
kernel32.dll грузится в ЛЮБОЙ процесс, независимо хочешь ты этого или нет, используешь(а ты ессно используешь) функции из этой библиотеки или нет.

программа запускается на 98 винде, в мсдн читанул 
Цитата

Client Requires Windows Vista, Windows XP, or Windows 2000 Professional. 
Server Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.  


может поэтому ?

Автор: Lazin 19.6.2008, 13:11
Цитата(LastAngel @  19.6.2008,  12:47 Найти цитируемый пост)
может поэтому ? 

именно поэтому, kernel32.dll 98-й винды такую ф-ю не экспортирует...
только нужно-ли что-бы программа запускалась на таком дремучем старье?

Автор: LastAngel 19.6.2008, 13:16
так вот самая фигня что как раз тока на этом и надо ))
Почему да как эт долгий разговор , по работе надо ...
мдя ... не усмотрел я конечно по неопытности ...

А функции подобной под 98 нету ?
или же если махнуть ту dll на dll с XP ?)

Автор: W4FhLF 19.6.2008, 13:29
Цитата(LastAngel @  19.6.2008,  13:16 Найти цитируемый пост)
А функции подобной под 98 нету ?


Я, честно говоря, не знаю. Скорее всего, придётся реализовывать её функционал вручную.

Цитата(LastAngel @  19.6.2008,  13:16 Найти цитируемый пост)
или же если махнуть ту dll на dll с XP ?)


Исключено. Функция базируется на системных вызовыз функций NT-ядра: ZwQuerySystemInformation, ZwQueryInformationProcess. 


Автор: LastAngel 19.6.2008, 13:40
Цитата(W4FhLF @ 19.6.2008,  13:29)
Я, честно говоря, не знаю. Скорее всего, придётся реализовывать её функционал вручную.

эх ... жаль жаль, ну и на том спасибо конечно)

Цитата

Исключено. Функция базируется на системных вызовыз функций NT-ядра: ZwQuerySystemInformation, ZwQueryInformationProcess. 


жаль что метод топора и кувалды не пойдет)

Автор: LastAngel 20.6.2008, 09:15
Добавил в проект kernel32.lib из ddk, при компиляции выдаёт

[Linker Error] ...\KERNEL32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

как её вкомпилить в проект ? ( smile 

Есть две утилиты coff2omf и omf2coff, которые переделывают  "MS"-формата в "Borland"- формат , но как ими пользоватся ? (

Автор: xvr 20.6.2008, 11:36
Цитата(LastAngel @ 19.6.2008,  13:16)
А функции подобной под 98 нету ?
или же если махнуть ту dll на dll с XP ?)

Запросто. Правда Винду после этого придется переустанавливать  smile

Добавлено через 2 минуты и 18 секунд
Цитата(LastAngel @ 20.6.2008,  09:15)
Добавил в проект kernel32.lib из ddk, при компиляции выдаёт

[Linker Error] ...\KERNEL32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

как её вкомпилить в проект ? ( smile 

Есть две утилиты coff2omf и omf2coff, которые переделывают  "MS"-формата в "Borland"- формат , но как ими пользоватся ? (

А запускать их не пробовал, они весьма словоохотливые  smile 
Цитата

COFF to OMF Converter Version 1.0.0.74 Copyright © 1999, 2000 Inprise Corporation
Syntax:   COFF2OMF [options] InputFile OutputFile
  -h, -?  Display help
  -q      Quiet mode
  -v      Verbose mode
  -r      Remove (delete) output file if empty
  -lib:xx Specify options for OMF import library generation:
       ms - Allow entries that have MS C++ name mangling (default: no)
       st - Normalize names instead of aliasing MS stdcall mangling
       ca - Don't perform MS cdecl aliasing (default is to alias)

COFF2OMF will convert a COFF import library file (InputFile)
to the corresponding OMF type import library file (OutputFile).

Автор: LastAngel 20.6.2008, 13:24
Цитата

Запросто. Правда Винду после этого придется переустанавливать  


эксперементировал ?))

Цитата

А запускать их не пробовал, они весьма словоохотливые

 
вот как раз и не захотела она общатся со мной )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)