Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на ФОРТРАН, как общего так и конкретного характера.
Постарайтесь дать как можно больше информации о возникшей проблеме -- это в конце концов в ваших же интересах чтобы вам помогли...

прежде чем просить помощи в задании
платное решение задач

ресурсы этого топика
ссылка на подборку ресурсов, собранных посетителями этого форума
 
то, чем мы решили поделиться
ссылка на страничку программ etc собственного изготовления, которыми любезно делятся наши форумчане


если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим
 
просьба к пишущим и отвечающим все большие листинги оформлять тегом more
и отключать графические смайлики при размещении фортран-кода

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 18:11 14-01-2007 | Исправлено: akaGM, 09:47 01-03-2020
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd

Цитата:
Кстати, curve.f отрабатывает без ошибок. С начала и до конца  

я этого и добивался...
значит в Си шлётся какая-то фигня...
дай ещё для порядка по башке этой грёбаной первой букве...
-fdefault-real-8

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 19:35 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И кстати.. Какой размер на самом деле имеет фортрановский INTEGER?
int(как мне подсказывает память) или long (как написано в хелпе)?
 
Добавлено:
akaGM

Цитата:
-fdefault-real-8

Окончательные опции на данный момент:

Код:
-O3 -finit-local-zero -frecursive -fno-align-commons -fdefault-real-8

Курве всё так же работает, а демос печатает ещё меньше чем раньше
 
Добавлено:

Код:
-O3 -finit-local-zero -fno-automatic -fno-align-commons -fdefault-real-8

Результат польностью аналогичный

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 19:38 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
-O3 -finit-local-zero -fno-align-commons -fdefault-real-8
вместо
-frecursive
два раза прогони с:
-f[no]-automatic  
 
-O3 убери на время отладки

Цитата:
Какой размер на самом деле имеет фортрановский INTEGER?

ну вообще-то от платформы зависит, а так
дефолт = integer*4

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 19:51 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
-O3 -finit-local-zero -fno-automatic -fno-align-commons -fdefault-real-8

Если при такой наборе задефайнить в low INTEGER как int вместо long - демос отрабатывает, но как-то странно.
Сначала идут функции рисования, а потом много раз вызываются служебные строковые функции...
 
Подробнее...
 
Добавлено:
Да. При таком наборе всё работает.
Печально что я полез искать ошибки не разобравшись в опциях коммандной строки

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 19:58 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd

Цитата:
Да. При таком наборе всё работает.

при каком?
так всё наладилось или как?
у тебя какая платформа, x86 32 bits или x64?
 

Цитата:
Если при такой наборе задефайнить в low INTEGER как int вместо long

тогда скажи мне что у тебя даёт такой с-код:
printf("long = %i\n", sizeof(long));
printf("int    = %i\n", sizeof(int));

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 20:17 08-08-2011 | Исправлено: akaGM, 20:21 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
при каком?  


Код:
-O[0123] -finit-local-zero -fno-automatic -fno-align-commons -fdefault-real-8  

И ещё:

Код:
#define INTEGER int

 

Цитата:
так всё наладилось или как?  

Да, наладилось (и снова вам множественные небулькающие спасибы )))
 

Цитата:
x86 32 bits или x64?

x64
 
Добавлено:
Ан нет mfti1.f таки валится с сегволдом, шопегорастак.
 
Добавлено:

Код:
 
#include <stdio.h>
 
int main() {
    printf("long = %lu\n", sizeof(long));
    printf("int  = %lu\n", sizeof(int));
    return 0;
}
 
// long = 8
// int  = 4
 

Каг и должно быть.

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 20:23 08-08-2011 | Исправлено: knkd, 20:35 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
легче переписать и *.f и *.c ...
добавь до кучи:
-fdefault-integer-8 тогда в Сях надо вернуть long, а лучше long int
-fdefault-double-8
 
чёрт знает, как там первая буква отрабатывается...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 21:09 08-08-2011 | Исправлено: akaGM, 21:19 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
легче переписать и *.f и *.c ...  

Полмегабайта спагетти? Моя неокрепшая психика этого не выдержит
 

Цитата:
-fdefault-integer-8 тогда в Сях надо вернуть int
-fdefault-double-8  


Код:
-finit-local-zero -fno-automatic -fno-align-commons -fdefault-real-8 -fdefault-integer-8 -fdefault-double-8

+#define INTEGER long
Всё как и раньше.
Вывод демоса всё так же непонятен.
 
Добавлено:
akaGM

Цитата:
чёрт знает, как там первая буква отрабатывается...  

Тоесть?

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 21:27 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd

Цитата:
Тоесть?

если переменные не описаны явно, то...
а ты вообще основы Фортрана знаешь?
почему пишется iABC, например?

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 21:53 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
если переменные не описаны явно, то...  

Основы то знаю, но разве возможны разночтения?

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 21:56 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd

Цитата:
Основы то знаю, но разве возможны разночтения?
вот это я у твоего гнуся/gfortran'a и спрашиваю...

Цитата:
// long = 8
// int  = 4
Каг и должно быть.
а почему, собственно?
х64, дефолтный регистр=64 бита, может там дефолт инта тоже = 8, я не знаю...
Код:
      integer i
      integer*4 i4
      integer*8 i8
        write(*,*) sizeof(i)
        write(*,*) sizeof(i4)
        write(*,*) sizeof(i4)
      end
запусти плиз...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 22:26 08-08-2011 | Исправлено: akaGM, 22:27 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
а почему, собственно?  

Да шото там в стандарте упоминалось о 32-битном инте.
 

Код:
 
knkd@knkd-PC:~/bin/GRAFOR$ cat size.f
      integer i
      integer*4 i4
      integer*8 i8
        write(*,*) sizeof(i)
        write(*,*) sizeof(i4)
        write(*,*) sizeof(i8)
      end
knkd@knkd-PC:~/bin/GRAFOR$ gfortran -o size size.f
knkd@knkd-PC:~/bin/GRAFOR$ ./size  
                    4
                    4
                    8
knkd@knkd-PC:~/bin/GRAFOR$  
 

 
В общем сейчас непонятно, то ли оно считает.
Я завтра вместо заглушки поставлю генератор кода для (Py)Turtle, посмотрю

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 22:38 08-08-2011 | Исправлено: knkd, 22:49 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
write(*,*) sizeof(i4)
write(*,*) sizeof(i4)
стандартная ошибка копи-пасте, я хотел:
write(*,*) sizeof(i8)

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 23:12 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
write(*,*) sizeof(i8)  

Я так и понял.

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 23:15 08-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
если у тебя корректно работает curve.f, то смотри что нового просит demos.f, это и будет местом/причиной сбоя...
 
-f-align-commons
а с этой опциёй пробовал?

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 23:37 08-08-2011 | Исправлено: akaGM, 23:55 08-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
-f-align-commons  

С ней матерится на каждый второй файл.
 

Цитата:
если у тебя корректно работает curve.f, то смотри что нового просит demos.f, это и будет местом/причиной сбоя...  

Демос тоже корректно завершается. Только результат работы заглушки странный.
Он под МОРЭ во втором моём посте на этой странице.

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 00:01 09-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
-f-align-commons  
забудь...

Цитата:
--IADR
такого типа?
вообще эта функа оч подозрительна
заменил бы ты её на loc()
там в двух местах всего: в  blanc.f и в notch.f

Цитата:
Только результат работы заглушки странный.

ты что заглушал, glib.c?
приведи хоть одну?

ха!
если ты загасил iadr(), то у тебя и не должно ничего работать, это ж основная функа в либе для получения всех адресов...
или "разглушай" или быстренько меняй на loc()
недаром эта карусель выдачи начинается с неё:
--IADR
--IADR
--IADR

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 00:36 09-08-2011 | Исправлено: akaGM, 01:00 09-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ты что заглушал, glib.c?  

Нет. Заглушал я только вывод в "метафайл", а остальные функции пометил для порядку.
Те которые с двумя тирэ - просто меченые.

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 01:05 09-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knkd
ну так приведи хоть один пример!?
не ленись, поменяй iadr()
иначе я с тобой не вожусь :)

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 01:10 09-08-2011
knkd

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Что значит "поменяй iadr()"?
Как я могу поменять то чего не понимаю?
Разве что ему не хватает диапазона лонга, но это маловероятно, поскольку программа имеет небольшой размер и улетать указателю некуда.
Непонятно...
 
Да, значения вполне божеские. Это было приведено к (unsigned long long) перед печатью, так что всё честно.

Код:
 
--IADR :6430400
--IADR :6438400
--IADR :6337600
 

 

Цитата:
ну так приведи хоть один пример!?  

Подробнее...

Всего записей: 196 | Зарегистр. 15-01-2008 | Отправлено: 01:19 09-08-2011 | Исправлено: knkd, 01:27 09-08-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru