2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1 ... 34, 35, 36, 37, 38
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 14:54 
Аватара пользователя
Значит вот так:

Код:
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ gp2c-run -g hello1.gp
Hello 1 from gp2c again
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ gp2c-run -g hello2.gp
Hello 2 from gp2c again
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ gp2c-run -g hello3.gp
Hello 3 from gp2c again
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 15:05 
Yadryara в сообщении #1717578 писал(а):
Значит вот так:

Ok, значит со скриптом gp2с-run и файлами .gp всё хорошечно.
Давайте полный текст скрипта .sh, как запускаете и что выдаёт.

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 15:15 
Аватара пользователя
run_all_4.sh

Код:
#!/bin/bash

for i in {1..3}; do
    f="hello${i}.gp"
    gp2c-run -g "$f"
done


Код:
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ ./run_all_4.sh
./run_all_4.sh: line 2: $'\r': command not found
./run_all_4.sh: line 3: syntax error near unexpected token `$'do\r''
'/run_all_4.sh: line 3: `for i in {1..3}; do
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 15:23 
Yadryara
Дайте команды находясь в папке с run_all_4.sh
Код:
cat -A run_all_4.sh

Код:
od -c run_all_4.sh

и сюда их выхлоп

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 15:44 
Аватара пользователя
Код:
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ cat -A run_all_4.sh
#!/bin/bash^M$
^M$
for i in {1..3}; do^M$
    f="hello${i}.gp"^M$
    gp2c-run -g "$f"^M$
done^M$
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ od -c run_all_4.sh
0000000   #   !   /   b   i   n   /   b   a   s   h  \r  \n  \r  \n   f
0000020   o   r       i       i   n       {   1   .   .   3   }   ;
0000040   d   o  \r  \n                   f   =   "   h   e   l   l   o
0000060   $   {   i   }   .   g   p   "  \r  \n                   g   p
0000100   2   c   -   r   u   n       -   g       "   $   f   "  \r  \n
0000120   d   o   n   e  \r  \n
0000126
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 15:54 
Yadryara
Ok, ясно. :D
Дайте команду
Код:
sed -i 's/\r$//' run_all_4.sh

и можно запускать скрипт
Код:
./run_all_4.sh


Может быть вы, кстати, и скрипт gp2с-run попортили дос-вендовыми <CR>
Установите на всякий случай утилиту dos2unix
Я не помню как там у вас с правами, наверное
Код:
sudo apt install dos2unix

И можно не sed-ом а при помощи неё делать, типа
Код:
dos2unix run_all_4.sh

Я бы наверное на всякий случай и gp2c-run "полечил" от лишних <CR> если они там появились после вашего вмешательства.
Находясь в папке где gp2c-run, команда
Код:
dos2unix gp2c-run

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 16:04 
Аватара пользователя
Ура. Я так понял что эта команда убрала лишние символы, которые как-то появились.

Код:
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ sed -i 's/\r$//' run_all_4.sh
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ ./run_all_4.sh
Hello 1 from gp2c again
Hello 2 from gp2c again
Hello 3 from gp2c again
yadryara@DESKTOP-QPP2F5P:~/D24-20/10f$ od -c run_all_4.sh
0000000   #   !   /   b   i   n   /   b   a   s   h  \n  \n   f   o   r
0000020       i       i   n       {   1   .   .   3   }   ;       d   o
0000040  \n                   f   =   "   h   e   l   l   o   $   {   i
0000060   }   .   g   p   "  \n                   g   p   2   c   -   r
0000100   u   n       -   g       "   $   f   "  \n   d   o   n   e  \n
0000120

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 16:30 
Yadryara в сообщении #1717592 писал(а):
Я так понял что эта команда убрала лишние символы, которые как-то появились.

Да, эти символы (возврата каретки, ASCII 0x0D) добавил ваш текстовый редактор в windows т.к. в dos/windows так принято. А в юникс (линукс) так не принято, там используется перевод строки без предварительного возврата каретки, и возврат каретки может вызывать проблемы, иногда. Вот вы на такую проблему и натолкнулись.

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 16:53 
Аватара пользователя
Спасибо огромное. Программы уже запустил в 6 потоках. Пока полёт нормальный.

И вот теперь буду спокойно разбираться, в чём же дело, почему переполнение. Во-первых аккуратно объявляю всё что можно как small. А это десятки переменных, не считая векторов.

 
 
 
 Re: Как писать быстрые программы
Сообщение07.02.2026, 20:58 
Yadryara в сообщении #1717484 писал(а):
Ну то есть вы меня воспитывать взялись? "Пойми, Антоха, ты разобрался плохо"

То, что вы спрашиваете - не о том как писать быстрые программы, а о том как разгрузить вас от ручного запуска медленных программ :D Автоматизация ручных операций не ускоряет работу программ, в этом случае.

 
 
 [ Сообщений: 565 ]  На страницу Пред.  1 ... 34, 35, 36, 37, 38


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group