Здравствуйте, уважаемые эксперты! Очень Вас прошу мне помочь! Мне действительно очень важно мнение каждого из вас. Я хочу начать учить 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++. Очень прошу вас помочь мне, а то я уже совсем запутался!
Добрый день, 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
Здравствуйте эксперты. Мне нужно открыть файл что бы с ним потом работать побитово. Подскажите как это сделать. Пишу в билдере.
Здравствуйте, 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.