Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 331
от 15.08.2003, 13:20

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1013
Отправлено ответов: 2276
Активность: 224.6 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Marouder
Статус: Опытный
Общий рейтинг: 123.04
URL: Первый Хабаровский Форум
Телефон: (4212) 21-93-65
[Подробней >>]
BOLT
Статус: Профессиональный
Общий рейтинг: 170.58
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C & C++.
Телефон: Три раза АУ!
[Подробней >>]
Eugene
Статус: Профессиональный
Общий рейтинг: 106.79
URL: мощный файловый архив
[Подробней >>]
 
Apricot
Статус: Начальный
Общий рейтинг: 122.22
[Подробней >>]
Twilight_Sun
Статус: Доверительный
Общий рейтинг: 122.58
[Подробней >>]
Dzik
Статус: Профессиональный
Общий рейтинг: 111.92
URL: Разработка игрушек
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.08
[Подробней >>]
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 109.69
[Подробней >>]
[L2]Max
Статус: Начальный
Общий рейтинг: 115.78
[Подробней >>]
 
Yuri Gordienko
Статус: Профессиональный
Общий рейтинг: 117.78
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 997. Нужен пример кода драйвера для USB устройства... (ответов: 2)
Вопрос № 998. Здраствуйте Эксперты !!! Подскажите какие опции нужно задать чтобы моя программа запускалась на комп... (ответов: 5)
Вопрос № 999. есть класс class c1 { ..... char* a[]; ..... }; Как правильно инициализировать а в конструкторе? ... (ответов: 6)
Вопрос № 1000. Здравствуйте эксперты. Собрался было изучать MFC, начал собирать материал. Частенько попадаются стат... (ответов: 6)

Вопросов: 4, ответов: 19


 Вопрос № 997

Нужен пример кода драйвера для USB устройства



Вопрос отправлен: 11.08.2003, 17:48
Отправитель: Маслов Андрей

[Следующий вопрос >>] [Список вопросов]

Отвечает Marouder

Приветствую Вас, Маслов Андрей!
Неужели это так трудно отыскать в инете?
У меня где-то был, если найду, могу дать, только вот мыло свое ты не оставил.

Ответ отправлен: 12.08.2003, 08:19
Отправитель: Marouder


Отвечает BOLT

Доброе время суток, Маслов Андрей!
Это вам, сэр нужно в рассылку Программирование на Ассемблере.
Да прибудет с тобой Великая Сила!

This message was created by EMan1.4


Ответ отправлен: 12.08.2003, 11:55
Отправитель: BOLT


 Вопрос № 998

Здраствуйте Эксперты !!!
Подскажите какие опции нужно задать чтобы моя
программа запускалась на компе без Builder-a.
В рассылке уже был ответ что нужно убрать галочку
в Linker->Use dynamic RTL но это не канает



Вопрос отправлен: 11.08.2003, 20:05
Отправитель: Ilu

[Следующий вопрос >>] [Список вопросов]

Отвечает Eugene

Приветствую Вас, Ilu!
Надо убрать не одну, а две галочки (задача усложнилась неимоверно). 1-я - это правильно упомянутая галочка
в Linker->Use dynamic RTL, а 2-я - это галочка в Packages->Build with Runtime Packages.

Ответ отправлен: 12.08.2003, 09:25
Отправитель: Eugene


Отвечает Marouder

Здравствуйте, Ilu!
Еще там есть где-то галочка "Build with Run-Time Packages". Ее тоже надо убрать.

Ответ отправлен: 12.08.2003, 08:19
Отправитель: Marouder


Отвечает Apricot

Доброе время суток, Ilu!
На сайте Borland X Portal ответ на данный вопрос опубликован, но сам я не проверял насколько приведенный метод эффективен.
Симптомы:
Программа, написанная на C++Builder'е, нормально работает на одной машине (например, на которой она скомпилирована), но на других не запускаеться. Требует кучу разных файлов с расширениями .bpl и .dll.
Общее:
На машине, где не работает программа, не установлен
C++Builder или стоит более старая версия.
Решение:
Требуется в опциях проекта отключить следующие параметры.
1. Project|Options|Linker снять галку Use dynamic RTL
2. Project|Options|Packages снять галку Build with runtime packages. При этом размер исполняемого файла значительно увеличиваеться (может даже в несколько раз). Для сжатия можно использовать специальные компрессоры.
3. Project|Options|Compiler нажмите кнопку Release.
4. Project|Options|CodeGuard снимите галочку с CodeGuard Validation (кто ее использует)
Создал Paul и Holms

Ответ отправлен: 12.08.2003, 09:43
Отправитель: Apricot


Отвечает BOLT

Доброе время суток, Ilu!
Также надо убрать галочку на опции Build with runtime packages, которая находится на вкладке Packages.
Да прибудет с тобой Великая Сила!

This message was created by EMan1.4


Ответ отправлен: 12.08.2003, 11:55
Отправитель: BOLT


Отвечает Twilight_Sun

Добрый день, Ilu!
Там есть галочка чтобы прикомпиливать все библиотеки в ехешник.

Ответ отправлен: 12.08.2003, 16:29
Отправитель: Twilight_Sun


 Вопрос № 999

есть класс
class c1
{
.....
char* a[];
.....
};
Как правильно инициализировать а в конструкторе? (Размеры вектора передаются).



Вопрос отправлен: 12.08.2003, 02:38
Отправитель: h@Lt

[Следующий вопрос >>] [Список вопросов]

Отвечает Dzik

Приветствую Вас, h@Lt!
c1::c1(int sz)
{
a=new char[sz];
}

Ответ отправлен: 12.08.2003, 07:04
Отправитель: Dzik


Отвечает vitya

Добрый день, h@Lt!
давайте так:
объявление класса:
class c1
{
char ** ppData;
c1() : ppData(NULL)
{
//другая инициализация.
}
};


Ответ отправлен: 12.08.2003, 08:56
Отправитель: vitya


Отвечает Apricot

Здравствуй, h@Lt!
Я так понял тебе нужно создать массив указателей.
Как в общем случае так и в твоем это делается следующим образом.
class c1
{
unsigned size_a;
char *a[];
public:
c1(unsigned size);
~c1();
};
c1::c1(unsigned _size_a)
{
size_a=_size_a;
*a=new char[size_a];
for(unsigned i=0;i a[i]=new char;
}
c1::~c1()
{
for(unsigned i=0;i delete a[i];
delete a;
}
Пример работы
...
c1 *x=new c1(3);
strcpy(x->a[0],"AAA");
strcpy(x->a[1],"BBB");
strcpy(x->a[2],"CCC");
...


Ответ отправлен: 12.08.2003, 10:24
Отправитель: Apricot


Отвечает DiGiT[old]

Приветствую Вас, h@Lt!
Наверное a=NULL
или a= new char*[размер массива] ?

Ответ отправлен: 12.08.2003, 12:15
Отправитель: DiGiT[old]


Отвечает BOLT

Доброе время суток, h@Lt!
Вот так:

class c1
{
private:
char * a;
public:
c1() { a = new char[10];}; //конструктор с инициализацией
~с1(){delete [] a;}; //деструктор - освобождает выделенную конструктором память
};
Да прибудет с тобой Великая Сила!
This message was created by EMan 1.4


Ответ отправлен: 12.08.2003, 15:44
Отправитель: BOLT


Отвечает Twilight_Sun

Приветствую Вас, h@Lt!
Это ж у тебя массив строчек я так понял. Все зависит для чего ты его используешь.
Во первых конструкцию [] без указания размера использовать тут нельзя (без указания елеметнов массива явно, у тебя получается массив нулевой длины).
А лучше по-человечески :
class c1{
char** a;
public:
c1(int N){
a=new char*[N];
for(int k=0;k };
};
Память под сами строки тут не выделяется, а только под массив, впиши если надо или спроси, если не знаешь


Приложение:

Ответ отправлен: 12.08.2003, 16:17
Отправитель: Twilight_Sun


 Вопрос № 1000

Здравствуйте эксперты. Собрался было изучать MFC, начал собирать материал. Частенько попадаются статьи в которых говориться, что MFC устарела, что при разработке проектов ее лучше не использовать, а использовать альтернативные средства. Хотелось бы узнать, стоит ли ее изучать, и что вы используете, если конечно используете, как альтернативу MFC



Вопрос отправлен: 12.08.2003, 11:42
Отправитель: stranger (fmb2002@bk.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Marouder

Здравствуйте, stranger!
Используй чистый API.:)

Ответ отправлен: 12.08.2003, 12:01
Отправитель: Marouder


Отвечает [L2]Max

Здравствуйте, stranger!
На мой взгляд лучше пользоваться API, это очень гибкое "средство", а МФЦ на мой взгляд, пробуждает в програмере лень, есть одно исключение - если программер знает АПИ, достаточно обучен, и ему нужно срочно что то написать, тогда можно и за мфц браться. Ведь МФЦ построено на АПИ, только с ООП. Я вообще с асма начинал ;))

Ответ отправлен: 12.08.2003, 12:05
Отправитель: [L2]Max


Отвечает DiGiT[old]

Доброе время суток, stranger!
Да стоит. В винде при разработке приложений на скорую руку очень удобная вещь. Для разработки более тяжелых приложений где важна суть лучше использовать ATL+STL,хотя от MFC имхо тоже не стоит уходить дабы не попасть в дебри низкого прогораммирования.

Ответ отправлен: 12.08.2003, 12:10
Отправитель: DiGiT[old]


Отвечает BOLT

Добрый день, stranger!
1)Нифига она не устарела. Бред сивой кобылы!
2)Альтернативой можно считать VCL от Borland.
3)Конечно стоит!
Да прибудет с тобой Великая Сила!
This message was created by EMan 1.4


Ответ отправлен: 12.08.2003, 15:44
Отправитель: BOLT


Отвечает Twilight_Sun

Здравствуйте, stranger!
Устарела, не устарела, - а хоть немного изучить надо.
А вообще это дело вкуса: я лично MFC не люблю.

Ответ отправлен: 12.08.2003, 15:57
Отправитель: Twilight_Sun


Отвечает Yuri Gordienko

Приветствую Вас, stranger!
Отвечаю абсолютно объективно и без всяких предубеждений.
Когда-то я писал на MFC, затем я стал писать на Qt-from Trolltech и сразу понял, что только идиоты могли эту MFC
так спроектировать. Что не решение - то нарушение общепринятых правил ООП (которые кстати не от фонаря возникли), механизм создания и перехвата сообщений мягко говоря нехороший. Короче говоря поймешь, когда попробуешь что нибудь другое.
Честно говоря, я бы очень хотел, чтобы мои слова были неправдой, т.к. MFC есть в каждом VC, но ...
А учить его нужно, т.к. многие конторы на нем пишут и тенденция, я думаю, сохранится.
Успехов


Ответ отправлен: 14.08.2003, 15:55
Отправитель: Yuri Gordienko



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (37)
C / C++ (28)
Perl (3)
Builder / Delphi (22)
Pascal (28)
Basic / VBA (12)
Java / JavaScript (8)
PHP (7)
Криптография (10)
WinAPI (19)
Пользователю
Windows 95/98/Me (46)
Windows NT/2000/XP (55)
"Железо" (42)
Поиск информации (27)
Администратору
Windows NT/2000/XP (27)
Linux / Unix (12)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное