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

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


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


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

Выпуск № 382
от 19.10.2003, 19:40

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


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

Morgion
Статус: Доверительный
Общий рейтинг: 107.46
[Подробней >>]
andrew
Статус: Начальный
Общий рейтинг: 120
[Подробней >>]
BOLT
Статус: Профессиональный
Общий рейтинг: 172
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C & C++.
Телефон: Три раза АУ!
[Подробней >>]
 
Andrew Vext
Статус: Профессиональный
Общий рейтинг: 104.28
[Подробней >>]
Vdr
Статус: Опытный
Общий рейтинг: 110.07
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 106.69
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
 
Yuri Gordienko
Статус: Профессиональный
Общий рейтинг: 119.14
URL: Досконально о С++, оптимизация программ, советы
[Подробней >>]
n0p
Статус: Начальный
Общий рейтинг: 111.76
[Подробней >>]


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

Вопрос № 1157. Здравствуйте, уважаемые эксперты! Очень Вас прошу мне помочь! Мне действительно очень важно мнение к... (ответов: 8)
Вопрос № 1158. Здравствуйте эксперты. Мне нужно открыть файл что бы с ним потом работать побитово. Подскажите как э... (ответов: 3)

Вопросов: 2, ответов: 11


 Вопрос № 1157

Здравствуйте, уважаемые эксперты! Очень Вас прошу мне помочь! Мне действительно очень важно мнение каждого из вас. Я хочу начать учить C++. Сначала я выбирал из VC++ и C++Builder. Хоть VC++ и сложнее, я выбрал именно его. На мой вопрос №1139 я получил
такой ответ: "Для начала определись что изучать будешь С++ или Визуал С++". Но я думал это один язык, просто есть его визуальная форма от Microsoft. Я запутался окончательно! Еще я видел компилятор gcc++, а он к чему относится? Кто-нибудь может мне доходчиво
объяснить все перечисленное, а также сказать свое мнение. Я создал приложение на VC++ с использованием MFC, записывающее в текстовый файл. Я всего лишь добавил 10-15 строк кода к готовому каркасу... Приложение весит ~130 KB!!! Откуда такой размер? Я видел
программы на Visual C++,занимающие 5,10,20 кб! Для меня очень важен размер программы в том числе. В header-файлах некоторых прог я видел: extern "C" и дальше идут подключения. На чем тогда написана это программа на Visual C++ или на C++. Очень прошу вас помочь мне,
а то я уже совсем запутался!



Вопрос отправлен: 16.10.2003, 08:46
Отправитель: HEX

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

Отвечает Morgion

Добрый день, HEX!
c++- язык.
vc- среда разработки и компилятор, также обычно подразумевают mfc.
gcc- компилятор c++. (точнее gnu compiler collection- вроде того, там не только c++).
То, что твоя прога занимает 130к- это потому, что компилишь debug версию- в опциях поставь release, и будет тебе маааааленький файл.

Ответ отправлен: 17.10.2003, 12:37
Отправитель: Morgion


Отвечает andrew

Доброе время суток, HEX!
C++ -один язык, но язык- это лишь инструментальное средство,
а VC++ и C++ Builder -это среды разработки, ориентированные на этот язык. В каждой среде используются свои технологии разработки для различных типов проектов, к которым можно отнести набор классов, функций, библиотек, поэтому изучать C++ Builder или VC++ значит освоить технологию разработки (изучить набор классов, функций, инструментов), но сам сорс пишется на C++. gcc++ -это гнушный компилёр, в основном используется в Линухе. Такой размер скорее всего из-за debug версии исполняемого файла (чтобы можно было удобно юзать debuger в ехе добавляется отладочная информация). Измени версию на релиз. extern -это объявление внешних данных или функций(реализованных в другом сорс файле)

Ответ отправлен: 16.10.2003, 17:34
Отправитель: andrew


Отвечает BOLT

Добрый день, HEX!
Сначало изучи толково сам язык. Практикуй в консоли. А потом занимайся Win-программингом. И побольше читай всяких статей+книг и будешь все знать. :)

RUN-D.M.C.:
Hard times are coming to your town
So stay alert, don't let them get you down

This message was created by EMan 1.5


Ответ отправлен: 16.10.2003, 17:46
Отправитель: BOLT


Отвечает Andrew Vext

Приветствую Вас, HEX!
Ну давайте глянем.
Есть язык С++. Он один для всех (по крайней мере, в начале обучения это предположение справедливо).
Язык одинаков, что в GCC, что в Visual C++, Что в Borland C++.
Дальше начинается самое интересное. Язык C++ ничего не говорит о том, как выполняется ввод/вывод. То есть для создания окна в GCC один код, в Visual C++ другой, в Borland - третий.
Кстати Visual не относится к языку. Это просто значит, что в среде разработки (Visual Studio) можно рисовать формы и базовый код для них генерируется автоматически. Учтите, что базовый код абсолютно ничего не делает.
Поэтому сначала надо определиться - для какой операционки программируем - DOS, Linux, Windows и т.д.
Затем учтите, что каждый компилятор использует свои библиотеки (которые он добавляет к коду). Из-за этого программа Hello World может занимать до 200 Кбайт.
Если вы хотите, чтобы ваша программа занимала 10-20 Кбайт надо забыть про MFC, VCL и прочие библиотеки и работать непосредственно с Win32 API. (Это все относится к Windows.)


Ответ отправлен: 16.10.2003, 14:17
Отправитель: Andrew Vext


Отвечает Vdr

Доброе время суток, HEX!
Visual C++ и C++ Builder как извесно, используют библиотеку MFC, из-за нее такой и вес. Малый размер получают когда пишут используюn Win API, там ты все описываешь сам, поэтому нет излишнего кода.
С++ и Вижуал С++ - язык один, но вся визуализация во втором случае ложится на MFC, тебе не нужно ничего писать.
gcc - вообще-то компилятотр под Linux, вроде.
Удачи!

Ответ отправлен: 17.10.2003, 12:54
Отправитель: Vdr


Отвечает Gibbel

Добрый день, HEX!
Для начала, давай определимся, C++ - это язык, а Visual C/C++, Borland C/C++, Borland C++ Builder, и т.д. - это среды разработки. Язык везде один - C++, но в каждой конкретной реализации существуют свои "фишки". Поэтому, тебе действительно стоит определиться, что ты хочешь изучать - сам язык C++ или какую-либо его реализацию...
Далее, MFC - это как раз одна из "фишек" Visual C++. Это библиотека классов, предназначенная "облегчить" тебе жизнь, при создании приложений под Windows. Естественно, что конечная программа будет содержать в себе не только написанный тобой код, но и код MFC (ну, или его часть, остальное в этом случае будет находиться в DLL MFC).
То, что ты видел размером 5-10 кб - это программы, написанные, скорее всего, на чистом C (а не на C++), и, естественно, не использующие MFC и ей подобных библиотек.

Ответ отправлен: 16.10.2003, 10:28
Отправитель: Gibbel


Отвечает Yuri Gordienko

Здравствуйте, HEX!
Язык один, но Visual C++ содержит массу непереносимых на другие компиляторы и ОС расширений, кроме того, если ты пользуешься MFC библиотекой, то о переносимости можно вообще забыть (это касается и использования всяческих Win-интерфейсов). Поэтому я и написал, что С++ и на Visual C++ - это большая разница (естественно имеется в виду использование Visual C++ не просто в качестве компилятора, а со всеми его фичами).
К полученному размеру 130 килобайт можешь смело добавить полутораметровую библиотеку MFC, без которой твоя программа работать не будет.
Если важен размер, то пиши без использования MFC - на WinAPI.
Успехов

Ответ отправлен: 16.10.2003, 10:20
Отправитель: Yuri Gordienko


Отвечает n0p

Добрый день, HEX!
Чтобы модули стали поменьше, в меню Build выбери Set Active Configuration и там выбери Release. Чтобы приложения стали еще меньше, их надо писать на чистом АПИ, хотя размер будет не намного меньше... Релизовые проги на С++ будут раза в четыре больше аналогичных программ на ассемблере. Я раньше сам писал на асме под Вин32, но потом потребовалось увеличить скорость написания программ, а размер модуля стал не критичен... Так что теперь я пишу в Микрософтовском С++ и вполне доволен.

Ответ отправлен: 16.10.2003, 19:30
Отправитель: n0p


 Вопрос № 1158

Здравствуйте эксперты.
Мне нужно открыть файл что бы с ним потом работать побитово. Подскажите как это сделать. Пишу в билдере.



Вопрос отправлен: 16.10.2003, 15:13
Отправитель: Ilu (ilua_m@mail.ru)

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

Отвечает Yuri Gordienko

Здравствуйте, Ilu!
Побитово ты работаешь не с файлом, а с байтами. Поэтому открываешь файл, читаешь в переменную(в char или int) данные и
работаешь
Успехов


Ответ отправлен: 16.10.2003, 16:40
Отправитель: Yuri Gordienko


Отвечает andrew

Здравствуйте, Ilu!
Открываете файл как обычно, читаете из него данные в ОЗЮ как обычно, работаете с ними в памяти побитово и как обычно записываете их в файл.

Ответ отправлен: 16.10.2003, 17:39
Отправитель: andrew


Отвечает BOLT

Здравствуйте, Ilu!
Так же как и обычно. Толко разбираться надо с байтами. Берешь байт и делаешь то что тебе нужно.

RUN-D.M.C.:
Hard times are coming to your town
So stay alert, don't let them get you down

This message was created by EMan 1.5


Ответ отправлен: 16.10.2003, 17:56
Отправитель: BOLT



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (29)
C / C++ (31)
Perl (6)
Builder / Delphi (22)
Pascal (23)
Basic / VBA (7)
Java / JavaScript (8)
PHP (11)
Криптография (8)
WinAPI (15)
Пользователю
Windows 95/98/Me (51)
Windows NT/2000/XP (62)
"Железо" (35)
Поиск информации (25)
Администратору
Windows NT/2000/XP (37)
Linux / Unix (14)
Юристу
Гражданское право (10)
Семейное право (7)
Трудовое право (7)
КоАП (7)

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




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


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

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

В избранное