реклама на сайте
подробности

 
 
5 страниц V  « < 3 4 5  
Reply to this topicStart new topic
AVR
сообщение Jul 7 2008, 15:56
Сообщение #61


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



DRUID3 - ну Вы загнули: объяснять фанату GCC (мне) почему надо выбирать GCC biggrin.gif
Я согласен со всеми Вашими доводами и выберу GCC даже если его код будет на 10% больше и медленнее чем аналоги smile.gif
А то что в случае с wx код получается на _сотни_ Кб больше при использовании GCC всместо MSVC (<--- фтопку) это не из-за компилятора, а из-за премудростей библиотек, которые скорее всего можно побороть... Виноват, я неправильно выразился smile.gif Прошу прощение за доставленные неудобства...

ЗЫ Кстати, статически слинкованная с базовой функциональностью wx под Linux на GCC заняла у меня всего 550 К. Это я к тому что не всё так плохо у wx в плане объемов кода...


--------------------
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jul 8 2008, 10:06
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Решил попробовать QT +QDevelop + minGw скачал установил, все вроде работает только,
не всегда компиляция происходит без ошибок.
первый раз компилю ,все без ошибо.
Цитата
Сборка (make)...
C:/MinGW/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/QDevelop_source/TEST'
c:/Qt/4.4.0/bin/uic.exe ui/mainwindow.ui -o build/ui_mainwindow.h
g++ -c -O2 -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -o build/mainwindowimpl.o src/mainwindowimpl.cpp
g++ -c -O2 -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -o build/main.o src/main.cpp
C:\Qt\4.4.0\bin/moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -D__GNUC__ -DWIN32 src/mainwindowimpl.h -o build/moc_mainwindowimpl.cpp
g++ -c -O2 -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -o build/moc_mainwindowimpl.o build/moc_mainwindowimpl.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,console -mthreads -Wl -o bin/TEST.exe build/mainwindowimpl.o build/main.o build/moc_mainwindowimpl.o -L'c:/Qt/4.4.0/lib' -lQtGui4 -lQtCore4
mingw32-make[1]: Leaving directory `C:/QDevelop_source/TEST'
---------------------- Сборка завершена без ошибок----------------------


второй раз пересобираю вылетает 3 ошибки, хоть не чего и не менял.

Цитата
Обновить проект (qmake TEST.pro)...
Очистить проект (make clean)...
C:/MinGW/bin/mingw32-make -f Makefile.Release clean
mingw32-make[1]: Entering directory `C:/QDevelop_source/TEST'
rm build/moc_mainwindowimpl.cpp
rm build/ui_mainwindow.h
rm build/mainwindowimpl.o build/main.o build/moc_mainwindowimpl.o
mingw32-make[1]: Leaving directory `C:/QDevelop_source/TEST'
C:/MinGW/bin/mingw32-make -f Makefile.Debug clean
mingw32-make[1]: Entering directory `C:/QDevelop_source/TEST'
rm build/moc_mainwindowimpl.cpp
rm build/ui_mainwindow.h
rm: cannot remove `build/moc_mainwindowimpl.cpp': No such file or directory
mingw32-make[1]: [compiler_moc_header_clean] Error 1 (ignored)
rm build/mainwindowimpl.o build/main.o build/moc_mainwindowimpl.o
rm: cannot remove `build/ui_mainwindow.h': No such file or directory
mingw32-make[1]: [compiler_uic_clean] Error 1 (ignored)
mingw32-make[1]: Leaving directory `C:/QDevelop_source/TEST'
rm: cannot remove `build/mainwindowimpl.o': No such file or directory
rm: cannot remove `build/main.o': No such file or directory
rm: cannot remove `build/moc_mainwindowimpl.o': No such file or directory
mingw32-make[1]: [clean] Error 1 (ignored)
Сборка (make)...
C:/MinGW/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/QDevelop_source/TEST'
c:/Qt/4.4.0/bin/uic.exe ui/mainwindow.ui -o build/ui_mainwindow.h
g++ -c -O2 -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -o build/mainwindowimpl.o src/mainwindowimpl.cpp
g++ -c -O2 -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -o build/main.o src/main.cpp
C:\Qt\4.4.0\bin/moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -D__GNUC__ -DWIN32 src/mainwindowimpl.h -o build/moc_mainwindowimpl.cpp
g++ -c -O2 -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtCore' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include/QtGui' -I'../../Qt/4.4.0/include' -I'c:/Qt/4.4.0/include/ActiveQt' -I'build' -I'build' -I'../../Qt/4.4.0/mkspecs/default' -o build/moc_mainwindowimpl.o build/moc_mainwindowimpl.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,console -mthreads -Wl -o bin/TEST.exe build/mainwindowimpl.o build/main.o build/moc_mainwindowimpl.o -L'c:/Qt/4.4.0/lib' -lQtGui4 -lQtCore4
mingw32-make[1]: Leaving directory `C:/QDevelop_source/TEST'
---------------------- Сборка завершена с 3 ошибками ----------------------


Еще такой вопрос: в WxWidget + Codeblocs событие добовляются двойным щелчком по кнопке (к примеру) , а сдесь форма редактируется в designer, как добавить событие(в код), к примеру нажатия кнопки? smile.gif
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 8 2008, 12:03
Сообщение #63


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(sergey sva @ Jul 8 2008, 14:06) *
Еще такой вопрос: в WxWidget + Codeblocs событие добовляются двойным щелчком по кнопке (к примеру) , а сдесь форма редактируется в designer, как добавить событие(в код), к примеру нажатия кнопки? smile.gif
CodeBlocks также может создавать приложения и на базе QT4 wink.gif + есть сторонние проги для дизайна окошечек с использованием WX, если по какой-то причине входящий в состав CodeBlocks редактор окон не понравился (конечно, есть и получше... просто удобно когда всё в одной среде, но Qt-шники же как-то живут) wink.gif
В любом случае, какую бы Вы библиотеку/среду для кроссплатформенного программирования ни выбрали, это будет всегда правильное решение, мы линуксоиды/макосисты/... тоже люди и хотим софт smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Leen
сообщение Jul 8 2008, 12:27
Сообщение #64


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Цитата(sergey sva @ Jul 8 2008, 21:06) *
первый раз компилю ,все без ошибо.
второй раз пересобираю вылетает 3 ошибки, хоть не чего и не менял.
Да просто все - в первый раз проект еще не компилился - эрго, объектных файлов еще нет (*.o), правило clean не выполняется, выполняется только правило сборки - all.
Во второй раз при _пересборке_ последовательность такая: сначала чистим (make clean), затем собираем (make, она же - здесь - make all).
Так вот, если внимательно почитать второй лог, то что мы видим:
выполняем make clean для конфигурации release - удаляем файлы в output dir;
output dir сейчас равна $(корень проекта)/build/
удаляем:
Код
build/moc_mainwindowimpl.cpp
build/ui_mainwindow.h
build/mainwindowimpl.o
build/main.o
build/moc_mainwindowimpl.o


выполняем make clean для конфигурации debug - удаляем файлы в output dir;
output dir сейчас равна $(корень проекта)/build/
удаляем:
Код
build/moc_mainwindowimpl.cpp
build/ui_mainwindow.h
build/mainwindowimpl.o
build/main.o
build/moc_mainwindowimpl.o

НО! все эти файлы _уже_были_удалены при первом проходе make clean (для версии release)!!!
Сталбыть, решение - разнести выходные папки для релиза и дебага, или (сложнее, если makefile не ручной, а управляется оболочкой) - изменить имена файлов так, чтобы они были разные для редиза и дебага.
Хотя первый вариант все-таки проще. И лучше.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jul 8 2008, 13:20
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата(AVR @ Jul 8 2008, 16:03) *
CodeBlocks также может создавать приложения и на базе QT4 wink.gif + есть сторонние проги для дизайна окошечек с использованием WX, если по какой-то причине входящий в состав CodeBlocks редактор окон не понравился (конечно, есть и получше... просто удобно когда всё в одной среде, но Qt-шники же как-то живут) wink.gif
В любом случае, какую бы Вы библиотеку/среду для кроссплатформенного программирования ни выбрали, это будет всегда правильное решение, мы линуксоиды/макосисты/... тоже люди и хотим софт smile.gif


code bloks мне понравился.smile.gif Вопрос Там при открытие нового проекта есть вкладка, для AVR , а как же к примеру msc51 + sdcc? просто создавать пустой проект, или нужно что то дополнительно устанавливать чтобы появилась вкладка для SDCC?
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jul 8 2008, 23:47
Сообщение #66


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(sergey sva @ Jul 8 2008, 22:20) *
code bloks мне понравился.smile.gif Вопрос Там при открытие нового проекта есть вкладка, для AVR , а как же к примеру msc51 + sdcc? просто создавать пустой проект, или нужно что то дополнительно устанавливать чтобы появилась вкладка для SDCC?

Я, например, создаю "консольное приложение" (Console Application), затем в меню Project->Build options и в Project->Properties выполняю необходимые настройки, касающиеся makefile. В качестве компилятора указываю GNU GCC. Даже не потому что им пользуюсь, а просто он по умолчанию стоит. Все пути к утилитам (компиляторы, линкер, и тп) указаны в makefile. Поэтому проблем нет.

Данный подход используется при написании кода для AVR/ARM/x86.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
alx2
сообщение Jul 9 2008, 13:14
Сообщение #67


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(Leen @ Jul 8 2008, 17:27) *
НО! все эти файлы _уже_были_удалены при первом проходе make clean (для версии release)!!!
Сталбыть, решение - разнести выходные папки для релиза и дебага, или (сложнее, если makefile не ручной, а управляется оболочкой) - изменить имена файлов так, чтобы они были разные для редиза и дебага.
ИМХО еще проще использовать rm -f и не заморачиваться ошибками удаления несуществующих файлов.


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Jul 9 2008, 16:06
Сообщение #68


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(AVR @ Jul 8 2008, 15:03) *
CodeBlocks также может создавать приложения и на базе QT4

QDevelop работает с проектами в их "исконноq" Qt-шной форме - хоть запускай из коммандной строки, а CodeBlocks создает свой проект. Это может привести к сложностям при работе комманды разработчиков или работе с чужим достаточно большим проектом...

Цитата(AVR @ Jul 8 2008, 15:03) *
... просто удобно когда всё в одной среде, но Qt-шники же как-то живут) wink.gif ...

Qt-шное GUI можно разрабатывать в редакторе формочек идущем с Qt по-умолчанию! Зачем плодить сущности? Причем не забываем, что само формочку можно подключать к коду динамически smile.gif .


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Leen
сообщение Jul 10 2008, 03:29
Сообщение #69


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Цитата(alx2 @ Jul 10 2008, 00:14) *
ИМХО еще проще использовать rm -f и не заморачиваться ошибками удаления несуществующих файлов.

ИМХО еще проще использовать rm -rf и не заморачиваться ошибками удаления и папок тоже smile.gif. И ваще - самописный makefile рулит. А то пока из одного проекта все настройки в другой перенесешь, запотеешь. А так один файлик скопировать и слегка его поправить.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jul 10 2008, 13:33
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Всетаки как связать обработку событий с программой в QT, smile.gif (не чего не понимаю.)?
Создаю новый проект в QDEVOLOP открываю форму в QT desinger , на форму можно набросать
кнопок сохранить и откомпилить, запустить все работает. можно QT Desinger отредактировать
сигналы слоты ,мышкой посоеденять кнопки текстэдиты выбрать действия для них, все работает,
но мне не понятно как к примеру сменить надпись(любую) при нажатии на кнопку, и куда при этом писать
код в Qt develop или qt designer ?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jul 10 2008, 20:46
Сообщение #71


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Поиск рулит....

http://clivecooper.co.uk/tutorial/index.html
http://ru.wikipedia.org/wiki/QDevelop


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jul 11 2008, 14:22
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Вот опять у меня проблема с настройками smile.gif .
С макфилами только начинаю разбираться, поэтому вопрос может показаться детским, но все же
не знаю что с этим делать. sad.gif
Компилятор SDCC вот mikefile который сегодня наваял, проблема ,пока model -small все нормально,
но если меняю на --model-large (мне она нужна) выходит ошибка.
Код
CC=sdcc
LINKFLAGS=-L --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700 --model-small
all: main.hex

    
main.rel: main.c
    $(CC) -c    main.c
    
main.hex: main.rel
    $(CC) $(LINKFLAGS) main.rel
    packihx <main.ihx >main.hex

    
    
        
clean:
    rm -f *.sym *.lst *.mem *.map *.ihx *.lnk *.rst *.rel *.asm *.hex



ошибка:

Код
**** Build of configuration Default for project TESTSDCC ****

make all
sdcc -c    main.c
sdcc -L --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700 --model-large main.rel
?ASlink-Warning-Conflicting sdcc options:
   "-mmcs51 --model-small" in module "main" and
   "-mmcs51 --model-large" in module "_strlen".
?ASlink-Warning-Conflicting sdcc options:
   "-mmcs51 --model-small" in module "main" and
   "-mmcs51 --model-large" in module "_gptrget".
?ASlink-Warning-Conflicting sdcc options:
   "-mmcs51 --model-small" in module "main" and
   "-mmcs51 --model-large" in module "_startup".
at 1: warning 119: don't know what to do with file '0x0000'. file extension unsupported
make: *** [main.hex] Error 1



Команды компилятора:

Код
SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.2 #5
195 (Jun 27 2008) (MINGW32)
Usage : sdcc [options] filename
Options :-

General options:
      --help                Display this help
  -v  --version             Display sdcc's version
      --verbose             Trace calls to the preprocessor, assembler, and link
er
  -V                        Execute verbosely.  Show sub commands as they are ru
n
  -d
  -D                        Define macro as in -Dmacro
  -I                        Add to the include (*.h) path, as in -Ipath
  -A
  -U
  -M                        Preprocessor option
  -W                        Pass through options to the pre-processor (p), assem
bler (a) or linker (l)
  -S                        Compile only; do not assemble or link
  -c  --compile-only        Compile and assemble, but do not link
  -E  --preprocessonly      Preprocess only, do not compile
      --c1mode              Act in c1 mode.  The standard input is preprocessed
code, the output is assembly code.
  -o                        Place the output into the given path resp. file
      --print-search-dirs   display the directories in the compiler's search pat
h
      --vc                  messages are compatible with Micro$oft visual studio

      --use-stdout          send errors to stdout instead of stderr
      --nostdlib            Do not include the standard library directory in the
search path
      --nostdinc            Do not include the standard include directory in the
search path
      --less-pedantic       Disable some of the more pedantic warnings
      --disable-warning     <nnnn> Disable specific warning
      --Werror              Treat the warnings as errors
      --debug               Enable debugging symbol output
      --cyclomatic          Display complexity of compiled functions
      --std-c89             Use C89 standard only
      --std-sdcc89          Use C89 standard with SDCC extensions (default)
      --std-c99             Use C99 standard only (incomplete)
      --std-sdcc99          Use C99 standard with SDCC extensions (incomplete)
      --fdollars-in-identifiers  Permit '$' as an identifier character
      --funsigned-char      Make "char" unsigned by default

Code generation options:
  -m                        Set the port to use e.g. -mz80.
  -p                        Select port specific processor e.g. -mpic14 -p16f84
      --model-large         external data space is used
      --model-medium        external paged data space is used
      --model-small         internal data space is used (default)
      --stack-auto          Stack automatic variables
      --xstack              Use external stack
      --int-long-reent      Use reentrant calls on the int and long support func
tions
      --float-reent         Use reentrant calls on the float support functions
      --main-return         Issue a return after main()
      --xram-movc           Use movc instead of movx to read xram (xdata)
      --callee-saves        <func[,func,...]> Cause the called function to save
registers insted of the caller
      --profile             On supported ports, generate extra profiling informa
tion
      --fommit-frame-pointer  Leave out the frame pointer.
      --all-callee-saves    callee will always save registers used
      --stack-probe         insert call to function __stack_probe at each functi
on prologue
      --no-xinit-opt        don't memcpy initialized xram from code
      --no-c-code-in-asm    don't include c-code as comments in the asm file
      --no-peep-comments    don't include peephole optimizer comments
      --fverbose-asm        include code generator comments
      --short-is-8bits      Make short 8 bits (for old times sake)
      --codeseg             <name> use this name for the code segment
      --constseg            <name> use this name for the const segment

Optimization options:
      --nooverlay           Disable overlaying leaf function auto variables
      --nogcse              Disable the GCSE optimisation
      --nolabelopt          Disable label optimisation
      --noinvariant         Disable optimisation of invariants
      --noinduction         Disable loop variable induction
      --nojtbound           Don't generate boundary check for jump tables
      --noloopreverse       Disable the loop reverse optimisation
      --no-peep             Disable the peephole assembly file optimisation
      --no-reg-params       On some ports, disable passing some parameters in re
gisters
      --peep-asm            Enable peephole optimization on inline assembly
      --peep-file           <file> use this extra peephole file
      --opt-code-speed      Optimize for code speed rather than size
      --opt-code-size       Optimize for code size rather than speed

Internal debugging options:
      --dumpraw             Dump the internal structure after the initial parse
      --dumpgcse
      --dumploop
      --dumpdeadcode
      --dumpliverange
      --dumpregpack
      --dumpregassign
      --dumptree            dump front-end AST before generating iCode
      --dumpall             Dump the internal structure at all stages
      --i-code-in-asm       include i-code as comments in the asm file

Linker options:
  -l                        Include the given library in the link
  -L                        Add the next field to the library search path
      --lib-path            <path> use this path to search for libraries
      --out-fmt-ihx         Output in Intel hex format
      --out-fmt-s19         Output in S19 hex format
      --xram-loc            <nnnn> External Ram start location
      --xram-size           <nnnn> External Ram size
      --iram-size           <nnnn> Internal Ram size
      --xstack-loc          <nnnn> External Stack start location
      --code-loc            <nnnn> Code Segment Location
      --code-size           <nnnn> Code Segment size
      --stack-loc           <nnnn> Stack pointer initial value
      --data-loc            <nnnn> Direct data start location
      --idata-loc

Special options for the mcs51 port:
      --stack-size          Tells the linker to allocate this space for stack
      --parms-in-bank1      use Bank1 for parameter passing
      --pack-iram           Tells the linker to pack variables in internal ram (
default)
      --no-pack-iram        Tells the linker not to pack variables in internal r
am
      --acall-ajmp          Use acall/ajmp instead of lcall/ljmp

Special options for the gbz80 port:
      -bo                   <num> use code bank <num>
      -ba                   <num> use data bank <num>
      --callee-saves-bc     Force a called function to always save BC
      --codeseg             <name> use this name for the code segment
      --constseg            <name> use this name for the const segment
      --no-std-crt0         For the z80/gbz80 do not link default crt0.o

Special options for the z80 port:
      --callee-saves-bc     Force a called function to always save BC
      --portmode=           Determine PORT I/O mode (z80/z180)
      --asm=                Define assembler name (rgbds/asxxxx/isas/z80asm)
      --codeseg             <name> use this name for the code segment
      --constseg            <name> use this name for the const segment
      --no-std-crt0         For the z80/gbz80 do not link default crt0.o

Special options for the ds390 port:
      --model-flat24        use the flat24 model for the ds390 (default)
      --stack-8bit          use the 8bit stack for the ds390 (not supported yet)

      --stack-size          Tells the linker to allocate this space for stack
      --pack-iram           Tells the linker to pack variables in internal ram (
default)
      --no-pack-iram        Tells the linker not to pack variables in internal r
am
      --stack-10bit         use the 10bit stack for ds390 (default)
      --use-accelerator     generate code for ds390 arithmetic accelerator
      --protect-sp-update   will disable interrupts during ESP:SP updates
      --parms-in-bank1      use Bank1 for parameter passing

Special options for the pic16 port:
      --pstack-model=       use stack model 'small' (default) or 'large'
  -y  --extended            enable Extended Instruction Set/Literal Offset Addre
ssing mode
      --pno-banksel         do not generate BANKSEL assembler directives
      --obanksel=           set banksel optimization level (default=0 no)
      --denable-peeps       explicit enable of peepholes
      --optimize-goto       try to use (conditional) BRA instead of GOTO
      --optimize-cmp        try to optimize some compares
      --optimize-df         thoroughly analyze data flow (memory and time intens
ive!)
      --asm=                Use alternative assembler
      --mplab-comp          enable compatibility mode for MPLAB utilities (MPASM
/MPLINK)
      --link=               Use alternative linker
      --preplace-udata-with=  Place udata variables at another section: udata_ac
s, udata_ovr, udata_shr
      --ivt-loc=            Set address of interrupt vector table.
      --nodefaultlibs       do not link default libraries when linking
      --use-crt=            use <crt-o> run-time initialization module
      --no-crt              do not link any default run-time initialization modu
le
      --debug-xtra          show more debug info in assembly output
      --debug-ralloc        dump register allocator debug file *.d
      --pcode-verbose       dump pcode related info
      --calltree            dump call tree in .calltree file
      --gstack              trace stack pointer push/pop to overflow

Special options for the pic14 port:
      --debug-xtra          show more debug info in assembly output
      --no-pcode-opt        disable (slightly faulty) optimization on pCode
      --stack-size          sets the size if the argument passing stack (default
: 16, minimum: 4)
      --udata-section-name  set udata section name

Special options for the TININative port:
      --model-flat24        use the flat24 model for the ds390 (default)
      --stack-8bit          use the 8bit stack for the ds390 (not supported yet)

      --stack-size          Tells the linker to allocate this space for stack
      --pack-iram           Tells the linker to pack variables in internal ram (
default)
      --no-pack-iram        Tells the linker not to pack variables in internal r
am
      --stack-10bit         use the 10bit stack for ds390 (default)
      --use-accelerator     generate code for ds390 arithmetic accelerator
      --protect-sp-update   will disable interrupts during ESP:SP updates
      --parms-in-bank1      use Bank1 for parameter passing
      --tini-libid          <nnnn> LibraryID used in -mTININative

Special options for the ds400 port:
      --model-flat24        use the flat24 model for the ds400 (default)
      --stack-8bit          use the 8bit stack for the ds400 (not supported yet)

      --stack-size          Tells the linker to allocate this space for stack
      --pack-iram           Tells the linker to pack variables in internal ram (
default)
      --no-pack-iram        Tells the linker not to pack variables in internal r
am
      --stack-10bit         use the 10bit stack for ds400 (default)
      --use-accelerator     generate code for ds400 arithmetic accelerator
      --protect-sp-update   will disable interrupts during ESP:SP updates
      --parms-in-bank1      use Bank1 for parameter passing

Special options for the hc08 port:
      --out-fmt-elf         Output executable in ELF format


Сообщение отредактировал sergey sva - Jul 11 2008, 14:23
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jul 11 2008, 19:08
Сообщение #73


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sergey sva @ Jul 11 2008, 20:22) *
Вот опять у меня проблема с настройками smile.gif .
С макфилами только начинаю разбираться, поэтому вопрос может показаться детским, но все же
не знаю что с этим делать. sad.gif
Компилятор SDCC вот mikefile который сегодня наваял, проблема ,пока model -small все нормально,
но если меняю на --model-large (мне она нужна) выходит ошибка.


Наверное --model-large надо указывать не только линкеру, но и компилятору.

Напишите перед
Код
LINKFLAGS=-L --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700 --model-large


что-нибудь типа:
Код
CFLAGS= --model-large

и потом:
Код
main.rel: main.c
    $(CC) -c $(CFLAGS)   main.c


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jul 11 2008, 19:14
Сообщение #74


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата(AHTOXA @ Jul 11 2008, 23:08) *
Наверное --model-large надо указывать не только линкеру, но и компилятору.

Напишите перед
Код
LINKFLAGS=-L --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700 --model-large


что-нибудь типа:
Код
CFLAGS= --model-large

и потом:
Код
main.rel: main.c
    $(CC) -c $(CFLAGS)   main.c



Да в этом (CC) -c $(CFLAGS) main.c[/code] проблема была smile.gif

Сообщение отредактировал sergey sva - Jul 11 2008, 19:14
Go to the top of the page
 
+Quote Post

5 страниц V  « < 3 4 5
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th July 2025 - 05:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01539 секунд с 7
ELECTRONIX ©2004-2016