Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопрос для тех, кто шарит в borland C++ v3.1

Автор: zam
Дата сообщения: 25.10.2003 01:08
Задача: получить exe-файл минимального размера программы hello world (исключительно в borland C 3.1).

Вот мой исходник:
#include <io.h>
void main(void)
{
char s[] = "Hello World";
_write(1, &s, 12);
}

_только_ компилирую, потом из консоли делаю:
# tlink hl.obj
получаю сообщение:
Turbo Link Version 5.1 Copyright (c) 1992 Borland International
Error: Undefined symbol __WRITE in module HL.C
Error: Undefined symbol N_SCOPY@ in module HL.C
Warning: No stack

Но при этом получаю размер "чистого" exe = 560 байт. К чему эти ошибки? Потом хочу
прилинковать lib'ы, но вылетаю с ошибками. На данном шаге что не так?

Есть ли у вас вообще идеи по созданию минимального бинарника? Я выбрал в опциях
модель памяти small (наиболее оптимальная), instruction set 80386 (наиб. оптимальная по
размеру). Но нужно явно ручками линковать библиотеки, а у меня tlink делает все с
ошибками.

второй путь: создаю бинарник (4280 байт), пытаюсь сделать:
# tlink hl.obj d:\lang\bc\lib\cs.lib
получаю сообщение:
Error: Segment _TEXT exceeds 64K
причем раз 30 напечатана эта ошибка. Это к чему? Кто знает, подскажите плисс
Автор: nobody2
Дата сообщения: 25.10.2003 15:25
включи опцию которая мэп и листинг генерит и посмотри, чего там еще кроме main'а напихано
соответственно, нужны объектники (или библиотеки) в которых левые функции прописаны
Автор: OldGopher
Дата сообщения: 27.10.2003 20:33
Там еще с0s.obj вроде как требуется долинковывать.

Потом _write (1, &s, 12); это не остроумно.
Надо по идее _write (1, s, 12) или (1, &s[0], 12) если компилятор хрюкнет.

Минимальный бинарик - модель Tiny и конвертация в COM файл.
Автор: Rvnikita
Дата сообщения: 27.10.2003 22:03
Это на С или С++?

Страницы: 1

Предыдущая тема: Visual Basic 6


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.