Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: crasylaser
Дата сообщения: 06.07.2012 02:25
Парни, как распаковать архив ARC, помогите пожалуйста, навыков не очень много. (BCB XE2)
Автор: alexseystu
Дата сообщения: 06.07.2012 11:48
Форумчане, подскажите по следующей проблеме. Имеется виртуальная машина 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". Вирусов нет. Как можно подправить установку, чтобы все было корректно, либо куда копать....
Автор: SevereK20
Дата сообщения: 06.07.2012 12:11
alexseystu
а причем тут программирование на c/c++ ?
Автор: akaGM
Дата сообщения: 06.07.2012 12:47
alexseystu
http://forum.ru-board.com/board.cgi?catplace=3
выбери отсюда нужный форум: "сети", "операционки" или "программы"
Автор: alexseystu
Дата сообщения: 06.07.2012 13:46
akaGM

Цитата:
http://forum.ru-board.com/board.cgi?catplace=3
выбери отсюда нужный форум: "сети", "операционки" или "программы"


Эту задачу решить средствами программирования возможно?
Автор: akaGM
Дата сообщения: 06.07.2012 13:57
alexseystu
ну если ты найдёшь системного программиста, драйвописателля, например...
Автор: SorrowSeer
Дата сообщения: 09.07.2012 19:45
Приветствую.

Подскажите, пожалуйста, максимально доступную для понимания книжку на русском языке по основам программирования на С++ для совсем чайника.
Автор: ItsJustMe
Дата сообщения: 12.07.2012 19:13
Пишется статическая либа. С качей файлов h и cpp
Предположим, в одном из h файлов объявлена некая функция или символ, но реализации этой функции нет - программер по скудоумию своему забыл написать;)
В самой либе эта функция нигде не используется, поэтому при компиляции либы никаких ошибок выдано не будет. Однако, когда сторонее приложение воспользуется этой функцией, которую должна предоставлять эта либа, его ждет epic fail.
Вопрос: можно ли при компиляции либы указать компилятору выдавать предупреждение, что объявленный в исходнике символ отсутствует в либе? Или еще как-то об этом узнать?
Автор: akaGM
Дата сообщения: 12.07.2012 20:07
ItsJustMe

Цитата:
объявлена некая функция или символ
ну функция понятно, а переменная-то? странно...
если тип известен, то подсунь...
Автор: Abs62
Дата сообщения: 12.07.2012 20:21
ItsJustMe

Цитата:
Вопрос: можно ли при компиляции либы указать компилятору выдавать предупреждение, что объявленный в исходнике символ отсутствует в либе?

Компилятору, вообще говоря, по барабану, для библиотеки или экзешника он код компилирует. Не знает он об этом, и знать не хочет. А отсутствие в коде переменной/функции, описанной в заголовочном файле - это совершенно штатная ситуация. Более того, для того заголовочные файлы и нужны, чтобы такие отсутствующие элементы компилятору описывать.
Автор: infd
Дата сообщения: 13.07.2012 06:47
Имеется программа для windows. написана на С. Имеется исходный код main.c и файл ресурсов res.res. Программа на английском языке. Я открыл файл ресурсов в msvc, скопировал поочередно все английские формы, указав русский язык и все перевел (оригинальные ресурсы не удалял). После компиляции и запуска в русской винде, приложение использует уже мои, русифицированные ресурсы. В некоторых формах нужно выводить текст. Хотелось бы, чтобы текст был локализован в случае, когда он выводится на переведенный на русский язык ресурс. Как мне в программе определить язык системы? Попробовал для начала создать текстовое поле на русской форме с текстом "rus", на английской - с текстом "eng" и получать значение поля через GetDlgItemText, но что-то не довел идею до логического завершения, к тому же мне кажется, что есть менее индусский путь реализовать данную задачу.
Автор: Abs62
Дата сообщения: 13.07.2012 07:46
infd

Цитата:
Как мне в программе определить язык системы?

Смотри в сторону GetUserDefaultLCID().
Автор: infd
Дата сообщения: 13.07.2012 08:53
Спасибо огромное, всё получилось.
Автор: crasylaser
Дата сообщения: 21.07.2012 17:55
Парни посоветуйте чё делать, уже крыша едет!
вот кусочек кода:
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
Автор: ItsJustMe
Дата сообщения: 22.07.2012 10:23
char TempDirectory[65535];
А куда столько? Запас карман не тянет?
Автор: cp58
Дата сообщения: 22.07.2012 12:40
crasylaser

Цитата:
char *TempDir=strcat(TempDirectory, TargetFile);

Смысл от переменной TempDir, если результат в TempDirectory?
Автор: crasylaser
Дата сообщения: 23.07.2012 07:51
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() такое вытворяет.
Автор: LBondarenko
Дата сообщения: 27.08.2012 16:32
В классе есть приватное поле int FХ. хотелось бы создать функцию, которая при чтении возвращала просто значение поля, при записи вносила изменение, типа
int function X( int x) read:{return FX} write: {FX=x;};
Я новичок и синтаксис не очень знаю. Мне казалось, что где- то была похожая конструкция. Просто не хотелось плодить функции с новыми именами. Подскажите, пожалуйста.
Автор: Uido0Bdue
Дата сообщения: 28.08.2012 23:54
Кто нибудь объясните, это сложно сделать?
Если несложно, обрисуйте какие действия нужны.
Например зайти в ollydbg, найти адрес с указателем или всё это бред?

При построении проекта xdelta3-3.0.4:
fatal error C1083: Не удается открыть файл включение: config.h: No such file or directory
Как исправить?

PS:В папке есть файл config.h.in, если переименовать в config.h и сохранить, программа работает на половину...
Автор: panda3
Дата сообщения: 30.08.2012 09:18
LBondarenko
В компиляторах Microsoft есть самопальное расширение синтаксиса

Код: int getX() { return FX; }
void putX(int x) { FX = x; }
__declspec(property(get = getX, put = putX)) int X;
Автор: V0lt
Дата сообщения: 30.08.2012 09:33
Вопрос по ATL-массивам.

Массив типа CAtlArray<BYTE> buff всегда лежит в памяти одним куском или может дробиться?
Автор: panda3
Дата сообщения: 30.08.2012 09:40
V0lt
Ну. очевидно, раз у него есть метод GetData, возвращающий непосредственно массив, то массив хранится целым куском.
Автор: V0lt
Дата сообщения: 30.08.2012 14:53
panda3

Цитата:
Ну. очевидно, раз у него есть метод GetData, возвращающий непосредственно массив, то массив хранится целым куском.

Не совсем.
В описании сказано, что GetData() возвращает ссылку на первый элемент массива.
А вот тип массива и сам массив выглядят так:

Код: template< typename E, class ETraits = CElementTraits< E > >
E* m_pData;
Автор: V0lt
Дата сообщения: 08.09.2012 00:40
Есть код

Код: #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;
}
};
Автор: bomzzz
Дата сообщения: 10.09.2012 17:26
никто не подскажет по WinInet. надо чтоб приложение использовало уже имеющийся cookie в Internet Explorer-е, и вот чета не получается.

Добавлено:
и еще такой вапросик, какой длинны может быть кукиш максимально?

Добавлено:
повезло на второй ответ сразу методом тыка попал - 1536

Добавлено:
а на первый вапросик - получается только если перерегистрировать внутри приложения кукиш из ИЕ. то есть кукиш не универсальный что ли для библиотеки?
Автор: bomzzz
Дата сообщения: 14.09.2012 16:17
никто не поможет. есть программа написаная на студии, для запуска требует библиотеки Microsoft Runtime Libruary, и , зараза, в упор не хочет использовать если они рядом в папке лежат, а только если зарегистрированы в системе. нельзя это дело обойти как то?
Автор: MoLnuS
Дата сообщения: 15.09.2012 09:56
Всем привет. Такой вопрос возник.
Необходимо писать программы на C++ и Си, с Паскаля еще привык делать это в Geany. Но с Си возникла проблема.
Делаю всё вот как здесь:
http://itedu.ru/docs/how-to-install-mingw-cpp-compiler-and-ide-geany-in-windows
Параметры среды и все дела настроены, компьютер перезагружен, команды сборки такие же, как в статье.
А при попытке компиляции\сборки выводит ошибку
"Запуск программы невозможен, так как на компьютере отсутствует libgmp-10.dll. Попробуйте переустановить программу." Переустанавливал MinGW - то же самое. Эта библиотека на месте, лежит по адресу, который указал в Path. А всё равно не находит=(

Как исправить? Помогите, пожалуйста.
Автор: bomzzz
Дата сообщения: 15.09.2012 10:02
если в гугл забить libgmp-10.dll первая страница ссылок полностью посвещена проблеме dll is missing

Добавлено:
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.
Автор: MoLnuS
Дата сообщения: 15.09.2012 10:20

Цитата:
bomzzz

Спасибо) Помогло)))
Теперь новая проблема.Скомпилированные exe шники отказываются запускаться на Win7x64 О_о
Вестимо из-за того, что 16 разрядные программки делаются. Как комплировать 32-х?

Сам разобрался=))
Поставил в команду сборки вот это
D:\MinGW\bin\mingw32-g++.exe
и все вроде пошло)
Автор: TeXpert
Дата сообщения: 15.09.2012 20:07
MoLnuS
Цитата:
Вестимо из-за того, что 16 разрядные программки делаются
Однако, круто! А почему не предположение, что "32-разрядные делаются", ты же на 64-х разрядной машине? 16-битный компилятор не так-то просто нынче найти (у меня валяется где-то Win 3.1 SDK, я Борлянд как-то в расчет не беру)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.