nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 16 Aug 2018 17:14



Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4
Solid C 
Author Message
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
проблемма в том, что это был первый вариант записи, с ним ошибок было ещё больше. хай тех уж поверь, древнющий компилятор под цпм, тем неменее он full ansi c совместимый. а вот солид мне показалось что он скорее k&r, и про анси даже не знает...
более того. хайтех си понимает оба варианта записи, описанный мной и тобой (его я первым испробовал).


15 May 2012 23:32
Profile
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
собственно экранка текста:
http://savepic.su/1938108.htm
и экранка сборки:
http://savepic.su/1925820.htm


16 May 2012 00:10
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16829
Location: Colorado
Reply with quote
Post 
Sayman wrote:
проблемма в том, что это был первый вариант записи, с ним ошибок было ещё больше. хай тех уж поверь, древнющий компилятор под цпм, тем неменее он full ansi c совместимый. а вот солид мне показалось что он скорее k&r, и про анси даже не знает...
более того. хайтех си понимает оба варианта записи, описанный мной и тобой (его я первым испробовал).


посмотрел примеры - таки оно k&r - значит твой вариант был вернее
там есть HELLO.C - попробуй его собрать через HELLO.BAT
может оно у тебя просто инклудник не может найти?

_________________
:eugeek: https://twitter.com/Shaos1973


17 May 2012 22:32
Profile WWW
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
вобщем и целом - вариант с солидом не годится совершенно.
вижу только один рациональный путь - переписать библиотеки хайтеха под спринтер. сам компилятор потом использовать с эмулятором под фрибсд, на крайняк в z80mu под досом (или досБокс)...


23 May 2012 23:49
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16829
Location: Colorado
Reply with quote
Post 
если просто нужен кросс-компилятор си для спринтера - бери z88dk - там спринтер был поддержан в своё время

ну или мой Sprinter SDK бери - не си, но близко ;)

_________________
:eugeek: https://twitter.com/Shaos1973


24 May 2012 12:00
Profile WWW
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 420
Reply with quote
Post 
Sayman wrote:
я так и не понял, под какой страндарт си этот компилятор расчитан. пример кода:
Code:
#include <stdio.h>

void panic0(s)
char *s;
{
    printf("\nError: ");
    printf(s);
    printf("\n");
}

main(argc,argv)
int argc;
char *argv[];
{
     if(argc<2) panic0("Need some arguments.");
}


всё. у компилятора рвёт крышу. выдаёт неразумные ошибки об отсутствии скобок, о том что есть недекларированные
переменные и вапще с десяток ошибок. однако в компиляторе HiTechC и на пц в VC всё прекрасно собирается.
пример простой, но...


Гонишь. Это корректный вариант. Только что проверил на Спринтере - все Ok, нет никаких ошибок.

А вариант Шаоса Солид не понимает, выдаст кучу ошибок. В папке примеров компилятора есть си-сорцы. Ах да, я забыл,
это не твоя метода, знакомиться с инструментами, которыми пользуешься. Видимо ты привык так - взял сторонние сишные сорцы,
например юниксов, и без усилия (вообще всякого) собрал их... на 8-ми битке, а иначе, если не собирается - ф топку :)
Любителям подобной халявы лучше сменить тематику интересов.
Кста, я тебе подскажу (и не обращай внимания, что об этом в доке написано, ее же читать придется), для "чужих" си-сорцев (написанных не для Солида)
есть опция "-k" для cc1.exe. В каких-то случаях может выручить.

Пример Шаоса:
Code:
#include <stdio.h>

void panic0(char *s)
{
    printf("\nError: ");
    printf(s);
    printf("\n");
}

main(int argc, char **argv)
{
     if(argc<2) panic0("Need some arguments.");
}



P.S. Еще не надоело похваляться "своим" Хайтек-Си, который "все прекрасно собирает" ?. Уже на зубах навязло твое пустое словоблудие,
потому как к Спринтеру-то какое отношение он имеет ?. Солид, в плане генерации кода, на ступеньку выше будет всех сишных компиляторов,
имеющихся на данное время на 8-ми битках. Сравни асм-листинги после твоего Хайтек-Си и от Солида. Вот и тебе "пример простой, но..."


P.S.S
Quote:
Может кто погонять компилятор си по ссылке ниже?
в цпм он был слегка известен как microgenSF 5.17. это его кросс версия, вроде современная (автор прислал).
раньше я его не видел, даже цпмную версию.
https://www.dropbox.com/s/6f3v8g5l3pwj7 ... e.zip?dl=0


А чего, сам не можешь оценить выдаваемые асм-листинги ? Вот и узнаешь качество компилятора.

_________________
Vasil Ivanov
vasil-i@yandex.ru


09 Nov 2014 03:05
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16829
Location: Colorado
Reply with quote
Post 
Печально, что солид это K&R...

_________________
:eugeek: https://twitter.com/Shaos1973


09 Nov 2014 14:32
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16829
Location: Colorado
Reply with quote
Post 
Vasil Ivanov wrote:
Солид, в плане генерации кода, на ступеньку выше будет всех сишных компиляторов,
имеющихся на данное время на 8-ми битках. Сравни асм-листинги после твоего Хайтек-Си и от Солида. Вот и тебе "пример простой, но..."


а солид умеет юзать регистры проца как часто используемые переменные?

и вообще какой-нибудь компилятор сей для z80 это умеет делать?

_________________
:eugeek: https://twitter.com/Shaos1973


09 Nov 2014 16:31
Profile WWW
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 420
Reply with quote
Post 
Shaos wrote:
Vasil Ivanov wrote:
Солид, в плане генерации кода, на ступеньку выше будет всех сишных компиляторов,
имеющихся на данное время на 8-ми битках. Сравни асм-листинги после твоего Хайтек-Си и от Солида. Вот и тебе "пример простой, но..."


а солид умеет юзать регистры проца как часто используемые переменные?

и вообще какой-нибудь компилятор сей для z80 это умеет делать?


Кусок из фидошной эхи (былые времена):
======================================
в Hi-Tech C для PC есть
- глобальное распределение регистров и
- передача аргументов в регистрах
(этих фич нет в варианте для CPM)

MSX-C/SOLID-C: кроме того, что есть в Hi-Tech имеет:
- нерекурсивные ф-ции
- распределение регистров с помощью PUSH/POP
======================================

Кусок из доки Солид Си:
==============================================
Одной из целей разработки компилятора MSX-C было создание инструментального средства, которое позволяяет писать и саму операционную систему, и программное обеспечение для ЭВМ. Для достижения этой цели в кодогенератор введены различные дополнительные средства.Так, разработаны средства автоматического распределения регистров. Благодаря этим средствам, которые впервые внедрены в компиляторе для микро-ЭВМ, удалось существенно повысить эффективность объектного кода. В результате этих мероприятий стало возможным писать на высоко-уровневом языке, которым является Си, даже системы, работающие в условиях жестких ограничений по памяти и реальному масштабу времени. При этом почти полностью устранена необходимость программирования на Ассемблере.
==============================================

Уверен, что переменные не всегда будут попадать в регистры (только для самых простых случаев), обязательно будут переменные и в ячейках памяти. Регистров мало, а передавать нужно много чего и данный компилятор не настолько умен, чтобы удивить кодеров, пишущих на асме. Ессно с ручной оптимизацией все эти компиляторы все-равно не стоит сравнивать. Поэтому считаю, что для 8-ми биток самым оптимальным вариантом будет инструмент типа "C--", можно одновременно писать к примеру lzw-алгоритмы и boot-загрузчики :)

_________________
Vasil Ivanov
vasil-i@yandex.ru


10 Nov 2014 10:15
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.