КИТА unofficial
Ноябрь 22, 2024, 09:45:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   ПРАВИЛА Помощь WIKI PDA Войти Регистрация  


Страниц: [1] 2  Все   Вниз
  Печать  
Автор Тема: Компиляторы С/С++  (Прочитано 31990 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« : Апрель 13, 2008, 10:35:22 »

Можно ли с помощью компилятора Borland C++ 3.11, скрыть в диспетчере задач WinXP процесс написанной программы ? 
« Последнее редактирование: Апрель 29, 2008, 09:16:53 от Storm » Записан
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #1 : Апрель 13, 2008, 10:41:03 »

Сомневаюсь. Не могу точно сказать, сможет ли нормально bcw добраться до всего нужного API Windows XP, но bc - точно не сможет. Вообще, если собираетесь собирать программу под свежие версии операционок, пользуйтесь свежими компиляторами и библиотеками.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #2 : Апрель 22, 2008, 04:15:02 »

Установил C++ Builder 6. Ничего в настройках не менял. В проекте, который открылся автоматическм при 1-ом запуске, удалил все содержимое и написал вот такой код:
Код: (cpp)
#include <iostream.h>

void main()
  {
    cout<<"Hello"<<endl;
  }

Линкер выдает 2 ошибки:
Код: (cpp)
Unresolved external '_Form1' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\PROJECT1.OBJ 
Unresolved external 'TForm1::' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\PROJECT1.OBJ

Пробовал создать новый проект и написать тот же код, но линкер все равно ругается.

Может кто-нибудь с таким уже сталкивался ? Что это может быть ?
Записан
Sochin
Злой модератор
Декан
*****

Карма: +108/-6
Offline Offline

Пол: Мужской
Сообщений: 1518



« Ответ #3 : Апрель 22, 2008, 04:39:08 »

artem90

Создавай проект консольного приложения.
Записан

Говорят, когда компьютер сгорает, перед взором микропроцессора за долю секунды проносятся все операции, которые он когда-либо совершил...
壯鎭
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #4 : Апрель 22, 2008, 04:49:34 »

Создавай проект консольного приложения.
Создавал ( Файл -> Новый -> Другое -> Мастер консоли ), но тогда 2 другие ошибки линкер выдает:
Код: (cpp)
Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
Unresolved external '__ExitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl

Записан
vimmax
Mодератор
Декан
*****

Карма: +42/-3
Offline Offline

Пол: Мужской
Награды:
лучшая гитара мира
Сообщений: 1713


♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪


« Ответ #5 : Апрель 22, 2008, 05:20:14 »

artem90 когда создаешь консольное приложение мастером, то оно должно сразу запуститься без ошибок. Или ты что-то исправил неправильно, или он стал криво (не знаю что там у тебя).

попробуй создать приложение мастером и ничего не исправляя запустить его.
Записан

♪♪ ♫  LET FOREVER BE  ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6134


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #6 : Апрель 22, 2008, 05:46:14 »

В окно Console Wizard убери птичку Use VCL (она по умолчанию там стоит).

И еще
Файл -> Новый -> Другое -> Мастер консоли
Ты что - какую-то гадость типа русификатора на Билдер поставил? Вообще не рекомендую подобное делать. IT и русский язык дружат редко.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #7 : Апрель 22, 2008, 05:58:34 »

В окно Console Wizard убери птичку Use VCL (она по умолчанию там стоит).
LazarusLong, спс большое! заработало !

Еще хотел спросить, на будущее: то что у меня сразу не работало (с обычным проектом) - это так и должно быть, или это с Билдером моим глюки, что только в консоли работает ?

Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6134


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #8 : Апрель 22, 2008, 06:09:59 »

artem90 потому что ты лихим движением руки снес имплементацию конструктора главной формы (ведь приложение у тебя создано было по умолчанию VCL-вское). Сам класс главной формы объявлен в Unit1.h потому ты его и не заметил )))

Код: (cpp)
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #9 : Апрель 23, 2008, 06:32:49 »

Есть текстовый файл "C:\1.txt" :
Цитировать
1 2 3 4 5
После последнего символа (5-ки) нет пробелов и переходов на следующую строку, поэтому файл подготовлен корректно.

Код программы для вывода содержимого этого файла на экран:
Код: (cpp)
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <conio.h>

void main()
  {
    int a;
    ifstream fin("C:/1.txt");
    while(fin.good())
      {
        fin>>a;
        cout<<setw(4)<<a;
      }
    getch();
  }

Результат выполнения в компиляторах  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-ку ?
Записан
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #10 : Апрель 23, 2008, 06:37:46 »

ВОПРОС:   почему BC 3.11 добавляет в конце лишнюю 5-ку ?
Потому что в BC 3.11 STL кривая... Эта фишка с потоками известная. И я на нее наступал, и другие преподаватели. Год назад Савкова показала, напомнила. В общем, не мучайся.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #11 : Апрель 23, 2008, 06:39:06 »

Потому что в BC 3.11 STL кривая... Эта фишка с потоками известная. И я на нее наступал, и другие преподаватели.

Ну а если лабы пишем на этом компилляторе, то что ж тогда делать ?
Записан
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #12 : Апрель 23, 2008, 06:42:18 »

Ну а если лабы пишем на этом компилляторе, то что ж тогда делать ?
Есть такое слово workaround Подмигивающий Т.е. если баг неустраним либо не локализуется, то надо его обойти, т.е. написать программу с учётом того, что баг присутствует.

Off-Topic - помечено автором как "не соответствует обсуждаемой теме"
Понимаю, что, на самом деле, это не смешно, но в условиях наличия такой техники и наличия отсутствия лаборанта в 803 аудитории (хотя, кто-то деньги получает, и этот вопрос я подниму на кафедре, ибо какого ... ?!!) деваться, увы, некуда. 5-й Borland разве что ставить? Но не знаю, как ему будет там "житься"...
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #13 : Апрель 23, 2008, 06:44:34 »

Есть такое слово workaround  Т.е. если баг неустраним либо не локализуется, то надо его обойти, т.е. написать программу с учётом того, что баг присутствует.

спс, буду пробовать.
Записан
vimmax
Mодератор
Декан
*****

Карма: +42/-3
Offline Offline

Пол: Мужской
Награды:
лучшая гитара мира
Сообщений: 1713


♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪


« Ответ #14 : Апрель 24, 2008, 05:15:47 »

EvilMax поставьте Bloodshed Dev-C++ ))))
или gcc с оболочкой.

или Ms VC - как обычно.
Записан

♪♪ ♫  LET FOREVER BE  ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #15 : Май 16, 2008, 08:20:01 »

Подскажите пожалуйста, в чем причина такой проблемы:  при попытке запустить код на C++ Builde 6 (Console Wizard) возникает следующая ошиба: "Exception class EAccessVolation"  (см. рисунок). Сначала я думал, что где-то допустил ошибку при работе с динамической памятью. Перечитал весь код, но ошибку найти не удалось. Чтобы проверить код, решил запустить его на других компиляторах: MS Visual C++ 6 и BC 3.11 никаких ошибок НЕ выдали. Погуглил, но узнал только то, что это одна из "Ошибок времени выполнения". И вот теперь возникает вопрос: это все таки я где-то "напорол" в коде, или это какая-то особенность или глюк Билдера ? 
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6134


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #16 : Май 16, 2008, 08:39:45 »

artem90, ошибка в 17-й строке.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #17 : Май 16, 2008, 08:45:40 »

ошибка в 17-й строке.
LazarusLong, возможно, я не совсем правильно сформулировал свой вопрос. Я НЕ имел ввиду: "Найдите мне ошибку в коде", если она там все таки есть, то я найду ее сам. Я хотел просто уточнить, может ли возникать такая ошибка выполнения из-за особенностей компилятора C++ Builder 6 ? Потому что в других компиляторах код работает правильно и без ошибок.
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6134


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #18 : Май 16, 2008, 08:54:27 »

artem90, EAccessViolation возникает при ошибке доступа к памяти. Не зная какой код эту ошибку сгенерировал, о причинах можно только догадываться.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #19 : Май 16, 2008, 10:14:25 »

artem90, скорее всего, действительно бока в коде. Выход за границы массива, попытка запихнуть данных в строку, больше чем отведено под неё памяти (например, если не учесть 0-символ), обращение к указателю, память под который не отведена и т.п. Ищи.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
Страниц: [1] 2  Все   Вверх
  Печать  
 
Перейти в:  

Penguins Counter Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS! Internetmap
Страница сгенерирована за 0.088 секунд. Запросов: 29.