Вверх ↑
Этот топик читают: Гость
Ответов: 899
Рейтинг: 43
#1: 2007-05-03 20:19:24 ЛС | профиль | цитата
Изучаю в институте программирование на С, пишем простые консольные приложения
Только пользоваться монстром VisualStudio не очень хочется, слишком много ненужных пока фич
Вот и загорелся сделать небольшой текстовый редактор, пытаюсь присобачить С компилятор, вот и хочу поинтересоваться можно ли это осуществить средствами HiAsm и как, с какими параметрами нужно его запускать, чтобы на выходе сразу получить exe(если конечно это осуществимо)?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2125
Рейтинг: 159
#2: 2007-05-03 22:48:32 ЛС | профиль | цитата
unalex писал(а):
пытаюсь присобачить С компилятор

Какой? От Visual Studio? Или gcc?

unalex писал(а):
чтобы на выходе сразу получить exe

Ну, сначала, видимо, текст надо в файл сохранить, желательно с расширением .c или .cpp, а потом его на вход компилятору и подать.
карма: 1

0
Ответов: 899
Рейтинг: 43
#3: 2007-05-04 00:26:10 ЛС | профиль | цитата
Какой? От Visual Studio? Или gcc?

gcc - бесплатный все таки
Ну, сначала, видимо, текст надо в файл сохранить, желательно с расширением .c или .cpp, а потом его на вход компилятору и подать.

естественно, сохраняю его с расширением с, но как работать с компилятором не знаю
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-05-04 10:34:12 ЛС | профиль | цитата
unalex, запусти gcc с ключем --help, увидишь на экране кучу опций там должно быть более менее понятно, что они значат. Как правило указывать надо степень оптимизации кода и возвожно тип платформы для результирующего бинарника.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#5: 2007-05-04 11:17:03 ЛС | профиль | цитата
ну блин...
Дайте хоть инструкцию, чтобы накачать именно то, что вы все считаете правильным компилятором

А то поиски могут и не совсем туда привести...
карма: 9

0
Ответов: 5446
Рейтинг: 323
#6: 2007-05-04 12:04:34 ЛС | профиль | цитата
Galkov, google:mingw
карма: 1

0
Ответов: 9906
Рейтинг: 351
#7: 2007-05-04 12:22:03 ЛС | профиль | цитата
И ты конечно уверен что только именно найденное будет называться gcc, и это то, про что говорил Dilma (маленький, качественный, свободный), и чего все любят

А то я gcc и под AVR-ки видел.
Без вышеперечисленных прилагательных
карма: 9

0
Ответов: 5446
Рейтинг: 323
#8: 2007-05-04 12:26:10 ЛС | профиль | цитата
ну... насчёт маленького - не уверен, а вот все остальные прилагательные на месте.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2007-05-04 12:58:12 ЛС | профиль | цитата
iarspider писал(а):
а вот все остальные прилагательные на месте

а это уже зависит от того, как понимать прилагательное "качественный"

Galkov писал(а):
А то я gcc и под AVR-ки видел.

GCC сейчас существует под все платформы и языки, которые более менее распространены. Так что действительно нужно аккуратнее искать
карма: 27
0
Ответов: 9906
Рейтинг: 351
#10: 2007-05-04 13:41:59 ЛС | профиль | цитата
Ну а я о чем: поделитесь, те кто уже искал

[size=-2]------ Добавлено в 13:41
Более конкретно: прав ли коллега iarspider, сообщая, что mingw - это наше светлое будущее
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2007-05-04 15:53:13 ЛС | профиль | цитата
Будущее это использование компонент, генерирующих код по стандарту С++. GCC один из вариантов, но полностью ориентироваться на него нельзя, поскольку он имеет расширения, не описанные в стандарте и сследовательно не работающие на других компиляторах.
карма: 27
0
Ответов: 3655
Рейтинг: 69
#12: 2007-05-04 17:50:51 ЛС | профиль | цитата
Что то у меня создаётся впечатление что с компиляторами С++
будет та же бадяга что и с Delphi и FPC
Это не работает в одном это в другом.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2007-05-04 18:04:59 ЛС | профиль | цитата
Вячеслав писал(а):
Что то у меня создаётся впечатление что с компиляторами С++
будет та же бадяга что и с Delphi и FPC
Это не работает в одном это в другом.

Ошибаетесь, коллега. В отличие от Delphi все популярные компиляторы С++ обязаны соответствовать стандарту, либо иметь такую опцию в настройках. Это одна из краеугольных особенностей самого языка, которая с одной стороны гарантирует переносимость ваших программ, а с другой не позволяет ему развиваться.

Так что ничего подобного тут быть не может.
карма: 27
0
Ответов: 899
Рейтинг: 43
#14: 2007-05-04 18:35:12 ЛС | профиль | цитата
Извините, что вмешался в разговор

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

code_1379.txt
Add(MainForm,6091403,21,59)
{
Left=20
Top=105
Width=581
Height=465
link(onCreate,6547316:doEvent1,[(63,100)(63,148)(25,148)(25,198)])
}
Add(Memo,15646275,567,269)
{
Left=220
Top=60
Width=345
Height=360
link(FileName,8588251:Var1,[(580,257)])
}
Add(Button,7238766,448,416)
{
Left=100
Top=30
Width=105
Caption="Компилировать"
link(onClick,16311568:doShellExec,[])
}
Add(Button,5528575,511,304)
{
Left=10
Top=30
Width=80
Caption="Сохранить"
link(onClick,15646275:doSave,[])
}
Add(StringTable,8743130,203,199)
{
Left=10
Top=60
Width=205
Height=360
Columns=#10:Список=200|
StrDelimiter=" "
Grid=0
Point(onMouseUp)
Point(Matrix)
link(onClick,5397267:doRead,[(251,205)(251,269)(207,269)(207,352)])
link(onMouseUp,872996:doEvent,[])
}
Add(PopupMenu,631371,308,206)
{
Menu=#8:Добавить|
link(onClick,16484228:doEvent,[])
}
Add(IndexToChanel,872996,259,206)
{
link(onEvent2,631371:doPopupHere,[])
}
Add(IndexToChanel,16484228,357,206)
{
link(onEvent1,16600869:doExecute,[])
}
Add(Hub,275730,455,206)
{
link(onEvent1,6547316:doEvent2,[(496,212)(496,255)(25,255)(25,205)])
link(onEvent2,8811099:doEvent1,[])
}
Add(SDialog,16600869,406,206)
{
Filter=".c файлы"
FileName="1"
Point(StartDir)
link(onExecute,275730:doEvent1,[])
link(StartDir,8578730:Data2,[(412,180)(111,180)])
}
Add(Dir,4311298,98,80)
{
}
Add(Memory,12412588,574,213)
{
link(onData,2280035:doText,[])
}
Add(GetData,8578730,98,129)
{
link(Data,4311298:CurrentDir,[])
}
Add(FileSearch,12412344,91,199)
{
Ext="*.c"
FullName=1
link(onSearch,8743130:doAdd,[])
link(Dir,8578730:Data1,[])
}
Add(Hub,6547316,35,192)
{
InCount=2
link(onEvent1,8743130:doClear,[(164,198)(164,212)])
link(onEvent2,12412344:doSearch,[])
}
Add(Hub,8765662,385,290)
{
link(onEvent1,8811099:doEvent2,[(511,296)(511,226)])
link(onEvent2,15646275:doLoad,[(460,303)(460,303)])
}
Add(Hub,8811099,525,213)
{
InCount=2
OutCount=1
link(onEvent1,12412588:doValue,[])
}
Add(Edit,2280035,623,213)
{
Left=275
Top=30
Width=230
}
Add(MatrixRW,5397267,217,346)
{
link(onRead,8765662:doEvent1,[(364,352)(364,296)])
link(Matrix,8743130:Matrix,[])
link(X,1126293:Value,[])
}
Add(Memory,1126293,231,276)
{
Default=Integer(0)
}
Add(WinExec,16311568,511,409)
{
link(FileName,7657713:Var,[(517,394)(494,394)])
link(Params,5425226:Var,[(524,396)(609,396)])
}
Add(PointHint,7657713,462,346)
{
Info=#7:gcc.exe|
}
Add(PointHint,5425226,539,346)
{
Info=#14:Параметры?????|
Width=141
link(Data,8588251:Var3,[(609,257)])
}
Add(GetDataEx,8588251,574,248)
{
link(Data,12412588:Value,[(587,249)(580,249)])
}
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3851
Рейтинг: 159
#15: 2007-05-04 20:02:51 ЛС | профиль | цитата
unalex, там у WinExec есть точка doConsoleExec, попробуй её.
Можешь ещё сюда http://dev.hiasm.com/xf/topic.php?t=7748&start=0 сходить - для общего развития.
карма: 0
начавший
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)