Название: Компиляторы С/С++ Отправлено: Артем от Апрель 13, 2008, 10:35:22 Можно ли с помощью компилятора Borland C++ 3.11, скрыть в диспетчере задач WinXP процесс написанной программы ?
Название: Компиляторы С/С++ Отправлено: EvilMax от Апрель 13, 2008, 10:41:03 Сомневаюсь. Не могу точно сказать, сможет ли нормально bcw добраться до всего нужного API Windows XP, но bc - точно не сможет. Вообще, если собираетесь собирать программу под свежие версии операционок, пользуйтесь свежими компиляторами и библиотеками.
Название: Re: Компиляторы С/С++ Отправлено: Артем от Апрель 22, 2008, 04:15:02 Установил C++ Builder 6. Ничего в настройках не менял. В проекте, который открылся автоматическм при 1-ом запуске, удалил все содержимое и написал вот такой код:
Код: (cpp) #include <iostream.h> Линкер выдает 2 ошибки: Код: (cpp) Unresolved external '_Form1' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\PROJECT1.OBJ Пробовал создать новый проект и написать тот же код, но линкер все равно ругается. Может кто-нибудь с таким уже сталкивался ? Что это может быть ? Название: Re: Компиляторы С/С++ Отправлено: Sochin от Апрель 22, 2008, 04:39:08 artem90
Создавай проект консольного приложения. Название: Re: Компиляторы С/С++ Отправлено: Артем от Апрель 22, 2008, 04:49:34 Создавай проект консольного приложения. Создавал ( Файл -> Новый -> Другое -> Мастер консоли ), но тогда 2 другие ошибки линкер выдает:Код: (cpp) Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl Название: Re: Компиляторы С/С++ Отправлено: vimmax от Апрель 22, 2008, 05:20:14 artem90 когда создаешь консольное приложение мастером, то оно должно сразу запуститься без ошибок. Или ты что-то исправил неправильно, или он стал криво (не знаю что там у тебя).
попробуй создать приложение мастером и ничего не исправляя запустить его. Название: Re: Компиляторы С/С++ Отправлено: LazarusLong от Апрель 22, 2008, 05:46:14 В окно Console Wizard убери птичку Use VCL (она по умолчанию там стоит).
И еще Файл -> Новый -> Другое -> Мастер консоли Ты что - какую-то гадость типа русификатора на Билдер поставил? Вообще не рекомендую подобное делать. IT и русский язык дружат редко.Название: Re: Компиляторы С/С++ Отправлено: Артем от Апрель 22, 2008, 05:58:34 В окно Console Wizard убери птичку Use VCL (она по умолчанию там стоит). LazarusLong, спс большое! заработало ! Еще хотел спросить, на будущее: то что у меня сразу не работало (с обычным проектом) - это так и должно быть, или это с Билдером моим глюки, что только в консоли работает ? Название: Re: Компиляторы С/С++ Отправлено: LazarusLong от Апрель 22, 2008, 06:09:59 artem90 потому что ты лихим движением руки снес имплементацию конструктора главной формы (ведь приложение у тебя создано было по умолчанию VCL-вское). Сам класс главной формы объявлен в Unit1.h потому ты его и не заметил )))
Код: (cpp) __fastcall TForm1::TForm1(TComponent* Owner) Название: Re: Компиляторы С/С++ Отправлено: Артем от Апрель 23, 2008, 06:32:49 Есть текстовый файл "C:\1.txt" :
Цитировать 1 2 3 4 5 После последнего символа (5-ки) нет пробелов и переходов на следующую строку, поэтому файл подготовлен корректно.Код программы для вывода содержимого этого файла на экран: Код: (cpp) #include <iostream.h> Результат выполнения в компиляторах C++ Builder 6 и MS Visual C++ 6 : Цитировать 1 2 3 4 5 Результат выполнения в компиляторе Borland C++ 3.11 : Цитировать 1 2 3 4 5 5 ВОПРОС: почему BC 3.11 добавляет в конце лишнюю 5-ку ? Название: Re: Компиляторы С/С++ Отправлено: EvilMax от Апрель 23, 2008, 06:37:46 ВОПРОС: почему BC 3.11 добавляет в конце лишнюю 5-ку ? Потому что в BC 3.11 STL кривая... Эта фишка с потоками известная. И я на нее наступал, и другие преподаватели. Год назад Савкова показала, напомнила. В общем, не мучайся.Название: Re: Компиляторы С/С++ Отправлено: Артем от Апрель 23, 2008, 06:39:06 Потому что в BC 3.11 STL кривая... Эта фишка с потоками известная. И я на нее наступал, и другие преподаватели. Ну а если лабы пишем на этом компилляторе, то что ж тогда делать ? Название: Re: Компиляторы С/С++ Отправлено: EvilMax от Апрель 23, 2008, 06:42:18 Ну а если лабы пишем на этом компилляторе, то что ж тогда делать ? Есть такое слово workaround ;) Т.е. если баг неустраним либо не локализуется, то надо его обойти, т.е. написать программу с учётом того, что баг присутствует. Off-Topic - помечено автором как "не соответствует обсуждаемой теме" Понимаю, что, на самом деле, это не смешно, но в условиях наличия такой техники и наличия отсутствия лаборанта в 803 аудитории (хотя, кто-то деньги получает, и этот вопрос я подниму на кафедре, ибо какого ... ?!!) деваться, увы, некуда. 5-й Borland разве что ставить? Но не знаю, как ему будет там "житься"... Название: Re: Компиляторы С/С++ Отправлено: Артем от Апрель 23, 2008, 06:44:34 Есть такое слово workaround Т.е. если баг неустраним либо не локализуется, то надо его обойти, т.е. написать программу с учётом того, что баг присутствует. спс, буду пробовать. Название: Re: Компиляторы С/С++ Отправлено: vimmax от Апрель 24, 2008, 05:15:47 EvilMax поставьте Bloodshed Dev-C++ ))))
или gcc с оболочкой. или Ms VC - как обычно. Название: Re: Компиляторы С/С++ Отправлено: Артем от Май 16, 2008, 08:20:01 Подскажите пожалуйста, в чем причина такой проблемы: при попытке запустить код на C++ Builde 6 (Console Wizard) возникает следующая ошиба: "Exception class EAccessVolation" (см. рисунок). Сначала я думал, что где-то допустил ошибку при работе с динамической памятью. Перечитал весь код, но ошибку найти не удалось. Чтобы проверить код, решил запустить его на других компиляторах: MS Visual C++ 6 и BC 3.11 никаких ошибок НЕ выдали. Погуглил, но узнал только то, что это одна из "Ошибок времени выполнения". И вот теперь возникает вопрос: это все таки я где-то "напорол" в коде, или это какая-то особенность или глюк Билдера ?
Название: Re: Компиляторы С/С++ Отправлено: LazarusLong от Май 16, 2008, 08:39:45 artem90, ошибка в 17-й строке.
Название: Re: Компиляторы С/С++ Отправлено: Артем от Май 16, 2008, 08:45:40 ошибка в 17-й строке. LazarusLong, возможно, я не совсем правильно сформулировал свой вопрос. Я НЕ имел ввиду: "Найдите мне ошибку в коде", если она там все таки есть, то я найду ее сам. Я хотел просто уточнить, может ли возникать такая ошибка выполнения из-за особенностей компилятора C++ Builder 6 ? Потому что в других компиляторах код работает правильно и без ошибок.Название: Re: Компиляторы С/С++ Отправлено: LazarusLong от Май 16, 2008, 08:54:27 artem90, EAccessViolation возникает при ошибке доступа к памяти. Не зная какой код эту ошибку сгенерировал, о причинах можно только догадываться.
Название: Re: Компиляторы С/С++ Отправлено: EvilMax от Май 16, 2008, 10:14:25 artem90, скорее всего, действительно бока в коде. Выход за границы массива, попытка запихнуть данных в строку, больше чем отведено под неё памяти (например, если не учесть 0-символ), обращение к указателю, память под который не отведена и т.п. Ищи.
Название: Re: Компиляторы С/С++ Отправлено: Артем от Июнь 24, 2008, 11:56:14 Скажите пожалуйста, поддерживает ли Borland C++ 3.11 работу с исключениями, и использование операторов try, throw, catch ?
Самому пока разобраться не удалось, потому что при вводе этих операторов они выделяются черным цветом, и якобы компилятор их понимает, но при компиляции пишет "Expression syntax". В хелпе 3.11-ого описание этих операторов также отсутствует. Название: Re: Компиляторы С/С++ Отправлено: Артем от Июль 15, 2008, 08:49:22 Подскажите пожалуйста, как в С++ Builder 6.0 правильно создать исполняемый EXE файл, который можно было бы запускать на других компах без установленного Билдера ?
Я создал проект, потом сохранил все файлы проекта - Save All. Полсе запуска - Run, создался исполняемый файл, но я на всякий случай запустил еще Make Project и Build Project. В итоге в папке проекта оказалось 17 файлов:
Но при попытке запустить эту прогу на компе без Билдера вылезла ошибка, что не был найден некий rtl60.bpl :( Название: Re: Компиляторы С/С++ Отправлено: EvilMax от Июль 15, 2008, 10:24:15 Но при попытке запустить эту прогу на компе без Билдера вылезла ошибка, что не был найден некий rtl60.bpl Грустный Вариантов два:1. Поставляй необходимые библиотеки *.bpl вместе с программой. В частности, rtl60.bpl, ну и на что еще ругнётся. 2. Собери статически исполняемый файл. Должна быть опция или в свойствах проекта или в свойствах линкера - не помню уже БаГландовские ИДЕ под винду... Тогда все run-time библиотеки на этапе компоновки (линковки) будут встроены в exe-шник. Ну и размер его подрастёт соответственно. 5-7 метровый exe-файл с почти пустой программой в таком случае - норма =) кажите пожалуйста, поддерживает ли Borland C++ 3.11 работу с исключениями, и использование операторов try, throw, catch ? Не поддерживает. NotImplementedException :DСамому пока разобраться не удалось, потому что при вводе этих операторов они выделяются черным цветом, и якобы компилятор их понимает, но при компиляции пишет "Expression syntax". В хелпе 3.11-ого описание этих операторов также отсутствует. Название: Re: Компиляторы С/С++ Отправлено: LazarusLong от Июль 16, 2008, 12:52:26 artem90, в общем последовательность такая:
Вкладка Project -> Project Opions -> Compiler Жмем кнопку Release Вкладка Project -> Project Opions -> Packages Убираем галочку Build with run-time packages В некоторых случаях нужно сделать еще и: Вкладка Project -> Project Opions -> Linker Убираем галочку Use dynamic RTL Если это сделаешь - все нужные bpl зашьются в экзешник. Может где-то с названиями вкладок попутал, сейчас нету установленного билдера под рукой, но думаю разберешься. Этого достаточно, если твоя программа не использует такую гадость, как BDE Название: Re: Компиляторы С/С++ Отправлено: Артем от Июль 16, 2008, 10:24:28 LazarusLong, спасибо большое! Помогло :)
Название: Re: Компиляторы С/С++ Отправлено: Магнетон Бора от Февраль 23, 2009, 10:42:25 Уважаемые коллеги, подскажите кто знает, я взял небольшой примерчик бинарного дерева и реализую его на VC++ 2008, в примере используется шаблонный класс вектор предназначенный для хранения любых массивов данных, но вот только VC ругается на то, что невозможно подключить заголовочный файл с прототипом данного вектора, я думаю может я неправильно написал заголовочный файл, подскажите, если кто знает, в help глянуть не могу, т.к. у меня урезанная версия VС. Код: #include "stdafx.h" Название: Re: Компиляторы С/С++ Отправлено: tos от Февраль 23, 2009, 11:15:27 для начала #include <vector>
а ещё он в неймспейсе std так что обращася к нему или std::vector или using namespace std; пропиши в начале Название: Re: Компиляторы С/С++ Отправлено: ZaQ от Февраль 23, 2009, 11:28:36 Вектор уже проинклужен, хоть и в старой нотации. А ошибка скорее всего именно в нэймспейсах.
Название: Re: Компиляторы С/С++ Отправлено: Магнетон Бора от Февраль 23, 2009, 11:38:40 Блин (((( прописал using namespace std в начале, но не помогает (((((
Название: Re: Компиляторы С/С++ Отправлено: tos от Февраль 23, 2009, 11:41:53 не стоит поддержка С++ для MSVC
=) сорри, не помогу. Название: Re: Компиляторы С/С++ Отправлено: Магнетон Бора от Февраль 23, 2009, 11:52:26 Ошибка выходит вот такая
c:\users\acer\documents\ìêèò\ëàáîðàòîðíûå ðàáîòû\lab1\btree\btree.cpp(4) : fatal error C1083: Cannot open precompiled header file: 'Debug/BTree.pch': No such file or directory Error executing cl.exe. Я пробывал по-разному инклудить вектор: #include <vector.h> #include <vector> #include "vector" #include "vector.h" Все бесполезно (((( Название: Re: Компиляторы С/С++ Отправлено: tos от Февраль 23, 2009, 11:56:07 ну инклудь для начала так #include <vector>
а ошибка у тебя в использовании precompiled header. в опциях проекта попробуй отключить его "don`t use precompiled header" ищи в графе "precompiled header" Название: Re: Компиляторы С/С++ Отправлено: Магнетон Бора от Февраль 24, 2009, 12:41:41 неа все равно не получается (
Название: Re: Компиляторы С/С++ Отправлено: Артем от Февраль 24, 2009, 12:53:49 fatal error C1083: Cannot open precompiled header file: 'Debug/BTree.pch': No such file or directory Сегодня такая же ошибка преследовала и меня :) Правда я юзал VC++ 6.0. Помогла просто пересборка проекта Build -> Rebuild All. Магнетон Бора, попробуй, может быть поможет.Название: Re: Компиляторы С/С++ Отправлено: ZaQ от Февраль 24, 2009, 12:55:31 прекомпилед хидеры оключать надо для сппшников, а не только для проекта.
Название: Re: Компиляторы С/С++ Отправлено: tos от Февраль 24, 2009, 09:18:00 странно что CPP не наследуют от проекта настройки
и огромная просьба! выкладывайте тексты ошибок, а не свои догадки относительно их причины, ок? Название: Re: Компиляторы С/С++ Отправлено: ZaQ от Февраль 24, 2009, 09:59:31 Видимо не наследует, пару дней назад с этим сталкивался. Точнее отключение в проекте не работает в случае если дя этого сппшника были ранее установлены свои настройки прекомпилед хидера.
Название: Re: Компиляторы С/С++ Отправлено: tos от Февраль 24, 2009, 10:04:51 Точнее отключение в проекте не работает в случае если дя этого сппшника были ранее установлены свои настройки прекомпилед хидера. так и естьНазвание: Re: Компиляторы С/С++ Отправлено: Артем от Февраль 25, 2009, 07:23:36 Помогите плз решить такую проблему:
Юзаю VC++ 6.0. И периодически возникает ошибка линкера при попытке запустить прогу на выполнение. Код: LINK : fatal error LNK1104: cannot open file "Debug/17.exe" ЗЫ: удалить файл 17.exe не получается, пишет что нет доступа. А Unlocker грит что файл не занят никаким процессом. |