Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
у меня есть такой код Код: plaintext 1. вопрос: как это будет работать в других ос, на винде например? нужно ли как-то его переписать, чтобы исходники были для разных платформ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 20:28 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
alexy_blackкак это будет работать в других ос, на винде например? Смотря чем компилировать будешь и с какими библиотеками. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 21:00 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ну, вот у меня проект в cmake, то есть компилировать можно, в теории, чем угодно.. использую буст. получается, что когда закрывается соединение, возникает ошибка и программа рухает (неблокирующий сервер). но закрытие соединения - это нормально, поэтому инор. можно это как-нибудь сделать, чтобы "везде" работало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 21:02 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
alexy_blackDimitry Sibiryakov, ну, вот у меня проект в cmake, то есть компилировать можно, в теории, чем угодно.. использую буст. получается, что когда закрывается соединение, возникает ошибка и программа рухает (неблокирующий сервер). но закрытие соединения - это нормально, поэтому инор. можно это как-нибудь сделать, чтобы "везде" работало?Во первых, cmake и boost тут совершенно ни при чем. Ты путаешь конвертер сценариев и библиотеку с операционной системой. signal() это функция обращающаяся к сущности которая существует в *nix системах. Там есть такая специальная штука "сигналы" и пользовательская программа может с ними работать. В Windows сигналов нет - вообще нет. Те задачи, которые решают "сигналы" в *nix, в Windows решаются другими методами. Если ты скомпилируешь свою программу в виндах со специальной библиотекой которая содержит в себе функции превращающие различные signal() в вызовы подходящих WinAPI функций - то твоя программа сможет работать и в винде. В готовом виде эти "специальные библиотеки" существуют. Самая известная это CygWin. Можно еще использовать msys для MinGW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 00:13 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
White OwlВ Windows сигналов нет - вообще нет. Те задачи, которые решают "сигналы" в *nix, в Windows решаются другими методами. Если ты скомпилируешь свою программу в виндах со специальной библиотекой которая содержит в себе функции превращающие различные signal() в вызовы подходящих WinAPI функций - то твоя программа сможет работать и в винде. В готовом виде эти "специальные библиотеки" существуют. Самая известная это CygWin. Можно еще использовать msys для MinGW. MSVC CRT также эмулирует некоторые из сигналов, но не все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 00:35 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
White Owl, нет, ничего я не путаю. про cmake сказал, чтобы было понятно, что в теории, такой проект можно собрать где угодно, сейчас это единственное место, которое мешает. остальная часть не использует платформозависимые решения, а использует библиотеки. если в винде нет сигналов, то может тупо сделать эту строчку только для posix систем? что будет в винде если попытатся записать в канал ,который уже закрылся (с другой сторны)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 12:23 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
Сильно сомневаюсь что SIGPIPE или его аналог есть под виндой. Поэтому signal(SIGPIPE, SIG_IGN) - будет работать отлично, как и задумывалось: SIGPIPE не будет вызываться )) SIGPIPE изначально предназначен для обработки завершения программ идущих в конвейере с данной. Типа: Код: plaintext 1. head завершается после чтения первой строки его входа, а zcat получает SIGPIPE чтобы понимать что дальше нет смысла выполняться. Если же программа интерактивная или долгоиграющий сервер, то SIGPIPE надо игнорить, и обрабатывать ошибки I/O согласно логике работы программы. Касательно остальных сигналов, то те которые актуальны под Виндой (INT, TERM ), вполне работают через вызов signal(), который в виндовых компиляторах, как минимум в VS (насколько я помню) должен присутствовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:04 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
alexy_blackWhite Owl, нет, ничего я не путаю. про cmake сказал, чтобы было понятно, что в теории, такой проект можно собрать где угодно, сейчас это единственное место, которое мешает. остальная часть не использует платформозависимые решения, а использует библиотеки.То есть для тебя мерилом "собрать где угодно" выступает использование cmake? Ну-ну... alexy_blackесли в винде нет сигналов, то может тупо сделать эту строчку только для posix систем? что будет в винде если попытатся записать в канал ,который уже закрылся (с другой сторны)?Что будет? WriteFile() упадет с соответствующей ошибкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 17:44 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
White OwlТо есть для тебя мерилом "собрать где угодно" выступает использование cmake? Ну-ну...ты прикалываешься? так выходит этот участок нормально собирется и в vs? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 19:08 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
alexy_blackWhite OwlТо есть для тебя мерилом "собрать где угодно" выступает использование cmake? Ну-ну...ты прикалываешься?Нет, я грущу. CMake в чем-то очень полезная утилита, но судить по ее использованию какой вид продукта ты пишешь совершенно нельзя. Ты можешь использовать CMake для описания сценария программы которая ни в коем случае не кроссплатформенная. Более того, многие люди не осилившие написание makefile берут CMake как более простую замену. Я еще могу понять как человек может ошибиться в ожидании реализации signal() в boost. Потому что boost это уже охрененно большая библиотека и там есть много-много-много всякого. Ожидать что там есть обращение к какой-то очередной волшебной функции - это более-менее понятно. alexy_blackтак выходит этот участок нормально собирется и в vs?Да конечно. signal() это всего-лишь функция. Компилятору абсолютно без разницы что функция делает и как она вообще работает. Другое дело, какая реализация этой функции находится в той библиотеке которую ты подсунул на этапе линковки. Будет внутри реализации обращение к API OS, какая-то своя собственная обработка или вообще одинокий return. Все зависит от подсунутых линкеру библиотек. Но если ты дашь link хоть какую-то реализацию функции signal() - твоя программа нормально соберется в VS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 19:34 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
alexy_blackтак выходит этот участок нормально собирется и в vs? MSDN тебе посмотреть религия позволяет? https://msdn.microsoft.com/en-us/library/xdkz3x12.aspx Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 19:43 |
|
||
|
signal in not posix
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, позволяет :) но чего-то не догадался, спасибо :) (я никогда на vs не делал ничего) White Owl, согласен на счет cmake, но я использую её для того, чтобы можно было собирать на разных платформах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2016, 11:40 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39243474&tid=2018506]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 316ms |
| total: | 480ms |

| 0 / 0 |
