Парни, как распаковать архив ARC, помогите пожалуйста, навыков не очень много. (BCB XE2)
» Вопросы по программированию на C/С++
Форумчане, подскажите по следующей проблеме. Имеется виртуальная машина WS 2003 в ней необходимо установить драйвер сетевой карты. При поиске драйвера происходит ошибка следующего характера: "Runtime Error! Program: C\Windows\system32\mmc.exe This application has requested the Runtime to terminate it an unusual way. Please contact the application's support team for more information". Вирусов нет. Как можно подправить установку, чтобы все было корректно, либо куда копать....
alexseystu
а причем тут программирование на c/c++ ?
а причем тут программирование на c/c++ ?
alexseystu
http://forum.ru-board.com/board.cgi?catplace=3
выбери отсюда нужный форум: "сети", "операционки" или "программы"
http://forum.ru-board.com/board.cgi?catplace=3
выбери отсюда нужный форум: "сети", "операционки" или "программы"
akaGM
Цитата:
Эту задачу решить средствами программирования возможно?
Цитата:
http://forum.ru-board.com/board.cgi?catplace=3
выбери отсюда нужный форум: "сети", "операционки" или "программы"
Эту задачу решить средствами программирования возможно?
alexseystu
ну если ты найдёшь системного программиста, драйвописателля, например...
ну если ты найдёшь системного программиста, драйвописателля, например...
Приветствую.
Подскажите, пожалуйста, максимально доступную для понимания книжку на русском языке по основам программирования на С++ для совсем чайника.
Подскажите, пожалуйста, максимально доступную для понимания книжку на русском языке по основам программирования на С++ для совсем чайника.
Пишется статическая либа. С качей файлов h и cpp
Предположим, в одном из h файлов объявлена некая функция или символ, но реализации этой функции нет - программер по скудоумию своему забыл написать;)
В самой либе эта функция нигде не используется, поэтому при компиляции либы никаких ошибок выдано не будет. Однако, когда сторонее приложение воспользуется этой функцией, которую должна предоставлять эта либа, его ждет epic fail.
Вопрос: можно ли при компиляции либы указать компилятору выдавать предупреждение, что объявленный в исходнике символ отсутствует в либе? Или еще как-то об этом узнать?
Предположим, в одном из h файлов объявлена некая функция или символ, но реализации этой функции нет - программер по скудоумию своему забыл написать;)
В самой либе эта функция нигде не используется, поэтому при компиляции либы никаких ошибок выдано не будет. Однако, когда сторонее приложение воспользуется этой функцией, которую должна предоставлять эта либа, его ждет epic fail.
Вопрос: можно ли при компиляции либы указать компилятору выдавать предупреждение, что объявленный в исходнике символ отсутствует в либе? Или еще как-то об этом узнать?
ItsJustMe
Цитата:
если тип известен, то подсунь...
Цитата:
объявлена некая функция или символну функция понятно, а переменная-то? странно...
если тип известен, то подсунь...
ItsJustMe
Цитата:
Компилятору, вообще говоря, по барабану, для библиотеки или экзешника он код компилирует. Не знает он об этом, и знать не хочет. А отсутствие в коде переменной/функции, описанной в заголовочном файле - это совершенно штатная ситуация. Более того, для того заголовочные файлы и нужны, чтобы такие отсутствующие элементы компилятору описывать.
Цитата:
Вопрос: можно ли при компиляции либы указать компилятору выдавать предупреждение, что объявленный в исходнике символ отсутствует в либе?
Компилятору, вообще говоря, по барабану, для библиотеки или экзешника он код компилирует. Не знает он об этом, и знать не хочет. А отсутствие в коде переменной/функции, описанной в заголовочном файле - это совершенно штатная ситуация. Более того, для того заголовочные файлы и нужны, чтобы такие отсутствующие элементы компилятору описывать.
Имеется программа для windows. написана на С. Имеется исходный код main.c и файл ресурсов res.res. Программа на английском языке. Я открыл файл ресурсов в msvc, скопировал поочередно все английские формы, указав русский язык и все перевел (оригинальные ресурсы не удалял). После компиляции и запуска в русской винде, приложение использует уже мои, русифицированные ресурсы. В некоторых формах нужно выводить текст. Хотелось бы, чтобы текст был локализован в случае, когда он выводится на переведенный на русский язык ресурс. Как мне в программе определить язык системы? Попробовал для начала создать текстовое поле на русской форме с текстом "rus", на английской - с текстом "eng" и получать значение поля через GetDlgItemText, но что-то не довел идею до логического завершения, к тому же мне кажется, что есть менее индусский путь реализовать данную задачу.
Спасибо огромное, всё получилось.
Парни посоветуйте чё делать, уже крыша едет!
вот кусочек кода:
char TempDirectory[65535];
GetTempPath (1000, TempDirectory);
AnsiString From1 = GetCurrentDir()+"\\f1.ul";
char *From = From1.c_str();
char *TargetFile= "\\f1.ul";
char *TempDir=strcat(TempDirectory, TargetFile);
CopyFile(From,TempDir,false);
spawnlp (P_OVERLAY,TempDir,"",NULL);
Close ();
при вызове прграммы из проводника всё работает, а если сделать вызов её из командной строки то функция копирования не срабатывает. если запустить из проводника и закрыть то из командной строки прога один раз запускается, а второй раз всёёё фигушки! Не подскажете почему так?
Делал на BCB XE2
вот кусочек кода:
char TempDirectory[65535];
GetTempPath (1000, TempDirectory);
AnsiString From1 = GetCurrentDir()+"\\f1.ul";
char *From = From1.c_str();
char *TargetFile= "\\f1.ul";
char *TempDir=strcat(TempDirectory, TargetFile);
CopyFile(From,TempDir,false);
spawnlp (P_OVERLAY,TempDir,"",NULL);
Close ();
при вызове прграммы из проводника всё работает, а если сделать вызов её из командной строки то функция копирования не срабатывает. если запустить из проводника и закрыть то из командной строки прога один раз запускается, а второй раз всёёё фигушки! Не подскажете почему так?
Делал на BCB XE2
char TempDirectory[65535];
А куда столько? Запас карман не тянет?
А куда столько? Запас карман не тянет?
crasylaser
Цитата:
Смысл от переменной TempDir, если результат в TempDirectory?
Цитата:
char *TempDir=strcat(TempDirectory, TargetFile);
Смысл от переменной TempDir, если результат в TempDirectory?
ItsJustMe и cp58, ребята, не смейтесь, это я так извращаюсь. выяснил ошибку! При запуске из командной строки в From почему то прописывается адрес: C:\Users\Администратор. исправил так:
AnsiString FullPath = ExtractFilePath(Application->ExeName)+ "f1.ul";
char TempDirectory[MAX_PATH];
GetTempPath (MAX_PATH, TempDirectory);
char *TargetFile= "f1.ul";
char *TempDir=strcat(TempDirectory, TargetFile);
CopyFile(FullPath.c_str(),TempDir,true);
не знаю почему GetCurrentDir() такое вытворяет.
AnsiString FullPath = ExtractFilePath(Application->ExeName)+ "f1.ul";
char TempDirectory[MAX_PATH];
GetTempPath (MAX_PATH, TempDirectory);
char *TargetFile= "f1.ul";
char *TempDir=strcat(TempDirectory, TargetFile);
CopyFile(FullPath.c_str(),TempDir,true);
не знаю почему GetCurrentDir() такое вытворяет.
В классе есть приватное поле int FХ. хотелось бы создать функцию, которая при чтении возвращала просто значение поля, при записи вносила изменение, типа
int function X( int x) read:{return FX} write: {FX=x;};
Я новичок и синтаксис не очень знаю. Мне казалось, что где- то была похожая конструкция. Просто не хотелось плодить функции с новыми именами. Подскажите, пожалуйста.
int function X( int x) read:{return FX} write: {FX=x;};
Я новичок и синтаксис не очень знаю. Мне казалось, что где- то была похожая конструкция. Просто не хотелось плодить функции с новыми именами. Подскажите, пожалуйста.
Кто нибудь объясните, это сложно сделать?
Если несложно, обрисуйте какие действия нужны.
Например зайти в ollydbg, найти адрес с указателем или всё это бред?
При построении проекта xdelta3-3.0.4:
fatal error C1083: Не удается открыть файл включение: config.h: No such file or directory
Как исправить?
PS:В папке есть файл config.h.in, если переименовать в config.h и сохранить, программа работает на половину...
Если несложно, обрисуйте какие действия нужны.
Например зайти в ollydbg, найти адрес с указателем или всё это бред?
При построении проекта xdelta3-3.0.4:
fatal error C1083: Не удается открыть файл включение: config.h: No such file or directory
Как исправить?
PS:В папке есть файл config.h.in, если переименовать в config.h и сохранить, программа работает на половину...
LBondarenko
В компиляторах Microsoft есть самопальное расширение синтаксиса
Код: int getX() { return FX; }
void putX(int x) { FX = x; }
__declspec(property(get = getX, put = putX)) int X;
В компиляторах Microsoft есть самопальное расширение синтаксиса
Код: int getX() { return FX; }
void putX(int x) { FX = x; }
__declspec(property(get = getX, put = putX)) int X;
Вопрос по ATL-массивам.
Массив типа CAtlArray<BYTE> buff всегда лежит в памяти одним куском или может дробиться?
Массив типа CAtlArray<BYTE> buff всегда лежит в памяти одним куском или может дробиться?
V0lt
Ну. очевидно, раз у него есть метод GetData, возвращающий непосредственно массив, то массив хранится целым куском.
Ну. очевидно, раз у него есть метод GetData, возвращающий непосредственно массив, то массив хранится целым куском.
panda3
Цитата:
Не совсем.
В описании сказано, что GetData() возвращает ссылку на первый элемент массива.
А вот тип массива и сам массив выглядят так:
Код: template< typename E, class ETraits = CElementTraits< E > >
E* m_pData;
Цитата:
Ну. очевидно, раз у него есть метод GetData, возвращающий непосредственно массив, то массив хранится целым куском.
Не совсем.
В описании сказано, что GetData() возвращает ссылку на первый элемент массива.
А вот тип массива и сам массив выглядят так:
Код: template< typename E, class ETraits = CElementTraits< E > >
E* m_pData;
Есть код
Код: #include <atlcoll.h>
class CArrayPadded : public CAtlArray<BYTE>
{
protected:
size_t m_padsize;
public:
CArrayPadded(size_t padsize)
: m_padsize(padsize)
{
}
size_t GetCount()
{
size_t count = __super::GetCount();
return (count > m_padsize) ? count - m_padsize : 0;
}
bool SetCount(size_t nNewSize, int nGrowBy = - 1)
{
if (__super::SetCount(nNewSize + m_padsize, nGrowBy)) {
memset(GetData() + nNewSize, 0, m_padsize);
return true;
}
return false;
}
};
Код: #include <atlcoll.h>
class CArrayPadded : public CAtlArray<BYTE>
{
protected:
size_t m_padsize;
public:
CArrayPadded(size_t padsize)
: m_padsize(padsize)
{
}
size_t GetCount()
{
size_t count = __super::GetCount();
return (count > m_padsize) ? count - m_padsize : 0;
}
bool SetCount(size_t nNewSize, int nGrowBy = - 1)
{
if (__super::SetCount(nNewSize + m_padsize, nGrowBy)) {
memset(GetData() + nNewSize, 0, m_padsize);
return true;
}
return false;
}
};
никто не подскажет по WinInet. надо чтоб приложение использовало уже имеющийся cookie в Internet Explorer-е, и вот чета не получается.
Добавлено:
и еще такой вапросик, какой длинны может быть кукиш максимально?
Добавлено:
повезло на второй ответ сразу методом тыка попал - 1536
Добавлено:
а на первый вапросик - получается только если перерегистрировать внутри приложения кукиш из ИЕ. то есть кукиш не универсальный что ли для библиотеки?
Добавлено:
и еще такой вапросик, какой длинны может быть кукиш максимально?
Добавлено:
повезло на второй ответ сразу методом тыка попал - 1536
Добавлено:
а на первый вапросик - получается только если перерегистрировать внутри приложения кукиш из ИЕ. то есть кукиш не универсальный что ли для библиотеки?
никто не поможет. есть программа написаная на студии, для запуска требует библиотеки Microsoft Runtime Libruary, и , зараза, в упор не хочет использовать если они рядом в папке лежат, а только если зарегистрированы в системе. нельзя это дело обойти как то?
Всем привет. Такой вопрос возник.
Необходимо писать программы на C++ и Си, с Паскаля еще привык делать это в Geany. Но с Си возникла проблема.
Делаю всё вот как здесь:
http://itedu.ru/docs/how-to-install-mingw-cpp-compiler-and-ide-geany-in-windows
Параметры среды и все дела настроены, компьютер перезагружен, команды сборки такие же, как в статье.
А при попытке компиляции\сборки выводит ошибку
"Запуск программы невозможен, так как на компьютере отсутствует libgmp-10.dll. Попробуйте переустановить программу." Переустанавливал MinGW - то же самое. Эта библиотека на месте, лежит по адресу, который указал в Path. А всё равно не находит=(
Как исправить? Помогите, пожалуйста.
Необходимо писать программы на C++ и Си, с Паскаля еще привык делать это в Geany. Но с Си возникла проблема.
Делаю всё вот как здесь:
http://itedu.ru/docs/how-to-install-mingw-cpp-compiler-and-ide-geany-in-windows
Параметры среды и все дела настроены, компьютер перезагружен, команды сборки такие же, как в статье.
А при попытке компиляции\сборки выводит ошибку
"Запуск программы невозможен, так как на компьютере отсутствует libgmp-10.dll. Попробуйте переустановить программу." Переустанавливал MinGW - то же самое. Эта библиотека на месте, лежит по адресу, который указал в Path. А всё равно не находит=(
Как исправить? Помогите, пожалуйста.
если в гугл забить libgmp-10.dll первая страница ссылок полностью посвещена проблеме dll is missing
Добавлено:
http://stackoverflow.com/questions/6719307/libgmp-10-dll-missing-when-trying-to-compile-gnu-objective-c-under-windows
Цитата:
Добавлено:
http://stackoverflow.com/questions/6719307/libgmp-10-dll-missing-when-trying-to-compile-gnu-objective-c-under-windows
Цитата:
The DLL isn't missing; it can be found in the MinGW-bin directory. On my system:
D:\Opt\MinGW32.11.11\bin\libgmp-10.dll
The problme can easily be fixed by adding the MinGW-bin directory to the PATH:
set path=%path%;D:\Opt\MinGW32.11.11\bin
Now the compiler works fine.
Цитата:
bomzzz
Спасибо) Помогло)))
Теперь новая проблема.Скомпилированные exe шники отказываются запускаться на Win7x64 О_о
Вестимо из-за того, что 16 разрядные программки делаются. Как комплировать 32-х?
Сам разобрался=))
Поставил в команду сборки вот это
D:\MinGW\bin\mingw32-g++.exe
и все вроде пошло)
MoLnuS
Цитата:
Цитата:
Вестимо из-за того, что 16 разрядные программки делаютсяОднако, круто! А почему не предположение, что "32-разрядные делаются", ты же на 64-х разрядной машине? 16-битный компилятор не так-то просто нынче найти (у меня валяется где-то Win 3.1 SDK, я Борлянд как-то в расчет не беру)
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
Предыдущая тема: не знаю как назвать тему :-)
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.