![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я поставил пакет win32ada, он создал папку include\win32ada
Если написать первой строкой test.gpr with "win32ada", то среда ругается при открытии пакета: [2011-02-08 16:25:57] C:\Program Files\ADA\projects\TEST\test.gpr:1:06: unknown project file: "win32ada" [2011-02-08 16:25:57] Error while loading project 'C:\Program Files\ADA\projects\TEST\test.gpr'. Loading the default project. Ну я это убрал. Добавил в test.gpr строчку for Source_Dirs use ("..\..\include\win32ada\**"); Пишу в test.adb with win32.winuser (вроде все основные функции, типа окно нарисовать итд, там). Компилирую. gnatlink "C:\Program Files\ADA\projects\TEST\test.ali" -shared-libgcc -g -g -fprofile-generate -o "C:\Program Files\ADA\projects\TEST\test.exe" c:/program files/ada/bin/../libexec/gcc/i686-pc-mingw32/4.3.6/ld.exe: cannot find -lwin32ada collect2: ld returned 1 exit status gnatlink: error when calling C:\Program Files\ADA\bin\gcc.exe gnatmake: *** link failed. [2011-02-08 16:28:19] process exited with status 4 (elapsed time: 06.26s) Что делать? -------------------- |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата 1. Зачем помимо INT ввели тип LONG, который от -2**31 до 2**31-1? В чём прикол? Ввели все типы, которые описаны в "Interfaces.C".С типом Long_Integer вообще отдельная история, на разных системах у него может быть разная разрядность, поэтому он стоит особняком. Видимо, поэтому его и в Win32Ada добавили особняком. Опять же, грядет переход на 64-бита, кто знает, что там с long-ом будет... Цитата Умеет ли компилятор убирать копирование в таких случаях? По крайней мере, должен уметь. Если не умеет - надо сообщать об этом, как о баге.Цитата Агрегат при передаче в функцию не работает, если внутри только 1 параметр Угу. Давай договоримся, что если кто-то не умеет передавать одно значение через агрегат - это ни разу не проблема языка:type T is array (Positive range <>) of integer; Лишние скобки не нужны, не надо язык превращать в Perl... Цитата Зачем для операции, которая нафиг не нужна в большей части случаев (вычисление выражения по полной схеме), оставили привычную запись, а для реально нужной операции сделали непривычную и длиную запись? С точки зрения англоязычного программиста как раз записьif A > 0 and then Arr (A) = Value then является более наглядной. "Выполнять второе действие только тогда, когда первое выполнилось". Аналогично и с or else. А то, что другой язык программирования приучил программиста писать and везде - это опять же не проблемы Ады. Цитата Тот код из архива занимает 100 кб, но компилируется в мегабайт. В этом мегабайте последние 2/3 - это чистый текст. Как его скомпилировать в более приемлемый размер? Это я чуть позже гляну... |
![]() ![]() |
![]() |
Текстовая версия | 16.07.2025 23:55 |