Форум программистов, компьютерный форум CyberForum.ru

Компиляция из командной строки - C++

Восстановить пароль Регистрация
 
nighthunter
0 / 0 / 0
Регистрация: 01.10.2009
Сообщений: 66
17.06.2011, 17:10     Компиляция из командной строки #1
Доброго времени суток.
У меня к Вам вопрос по компиляции из коммандной строки.
Делаю простенький .с файл

hello.c:
C
1
2
3
4
5
6
#include <stdio.h>
 
int main(){
  printf('Проверка.');
  return 0;
}
Если просто скомпелировать:
Windows Batch file
1
bcc32 hello.c
то екзешник получается приблизительно 55 Кб!!!

Поискал в нете и нашел, что компилятор линкует по умолчанию еще и RTL.

Пробовал слинковать вручную:
Windows Batch file
1
2
bcc32 -c hello.c // получаем hello.obj
ilink32 hello.obj // получаем hello.exe (2 Кб)
Я было уже обрадовался, но при попытке запуска вылетает окно
'loto.exe не является приложением Win32'

Помогите пожалуйста и подскажите где ошибка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2011, 17:10     Компиляция из командной строки
Посмотрите здесь:

C++ Параметр командной строки
Аргументы командной строки C++
C++ Имитация командной строки
чтение из командной строки C++
параметр командной строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SevaB
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 39
17.06.2011, 21:01     Компиляция из командной строки #2
bcc32 -WR hello.c
если приложение консольное:
bcc32 -WR -WC hello.c (при установке флагов в другом порядке, какого-то хрена не компилит)

Не стоит также забывать, что бинарник, скомпиленный с динамик РТЛ будет юзать некоторую ДЛЛ, то бишь не будет работать на машине без билдера, или с другой версией билдера. Если только дллку с собой не таскать.
nighthunter
0 / 0 / 0
Регистрация: 01.10.2009
Сообщений: 66
18.06.2011, 14:29  [ТС]     Компиляция из командной строки #3
Компилируется, но при запуске пишет, что не найдена библиотека СС3260.DLL.
Че делать?
Aniskov
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 111
18.06.2011, 20:29     Компиляция из командной строки #4
Наверно придется включать библиотеки.
Да и гонка за размер ехе это для асемблера, там ехе и в 500 байт можно сделать.
np_msn
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 46
20.06.2011, 10:06     Компиляция из командной строки #5
Привет.
Попробуй опцию -U_RTLDLL
Эта опция отменяет использование динамической библиотеки СС3260.DLL
Удачи.
nighthunter
0 / 0 / 0
Регистрация: 01.10.2009
Сообщений: 66
21.06.2011, 19:04  [ТС]     Компиляция из командной строки #6
Спасибо вроде работает.
Возникает вопрос: зачем нужна RTL
np_msn
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 46
22.06.2011, 10:08     Компиляция из командной строки #7
Привет.
Посмотри здесь.
http://www.rsdn.ru/article/cpp/crt.xml
Удачи.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2011, 12:29     Компиляция из командной строки
Еще ссылки по теме:

C++ Слияних 2 файлов в третий + строки + использование командной строки
C++ Аргументы командной строки
C++ Аргументы командной строки

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
nighthunter
0 / 0 / 0
Регистрация: 01.10.2009
Сообщений: 66
22.06.2011, 12:29  [ТС]     Компиляция из командной строки #8
Спасибо за ссылку.
Буду изучать.
Yandex
Объявления
22.06.2011, 12:29     Компиляция из командной строки
Ответ Создать тему
Опции темы

Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru