|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Что это макрос, после которого можно ставить точку с запятой, понимаю даже я. Но какое отношение всё это имеет к блокировке и что вообще достигает этот код из драйвера VDFS для линукс? lockdep.h: Код: plaintext 1.
vdfs4.h: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 21:35 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Сибирский Пушистый что вообще достигает этот код ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 21:47 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
После макро-процессинга будет нечто вроде Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 22:00 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
mayton, У меня, конечно же, и близко нет 300 айкю, и человек я простой: когда пишу код, то он выполняет какую-то функцию. Но какую функцию выполняет ЭТО? Оно же вообще ничего не делает. Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 00:08 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Сибирский Пушистый mayton, У меня, конечно же, и близко нет 300 айкю, и человек я простой: когда пишу код, то он выполняет какую-то функцию. Но какую функцию выполняет ЭТО? Оно же вообще ничего не делает. Или я ошибаюсь? Во первых, на сайте www.kernel.org лежат исходники. И там прокомментирован этот макрос. Я попробовал разобраться, но не очень понял о чём они пишут. Но это не код, который что-то должен делать. Это какой-то костыль, который что-то должен проверять. Например, то что у типа структуры "inode" есть поле данных "i_mutex". Иначе оно не будет компилироваться. Зачем это нужно? ХЗ. Код: plaintext 1. 2. 3.
Зачем тут цикл тоже не понятно. Похоже на какой-то грязный хак, когда люди знают как работает компилятор и пытаются его обмануть зачем-то. И я не понимаю, почему указатель на некую переменную может приводиться к void. Не к void*, а к void! Хотя где-то я видел такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 00:33 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
a guest Сибирский Пушистый что вообще достигает этот код Специально ничего не делающим этот макрос выглядел бы так: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 00:36 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Сибирский Пушистый Но какую функцию выполняет ЭТО? Оно же вообще ничего не делает. Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 01:09 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
a guest petrav, пожалуйсто вернись к программированию на 1C. PS: Тебе нужно нам пояснить, почему при таких параметрах условной компиляции этот макрос выглядит именно так: Код: plaintext 1.
Зачем тут цикл, зачем приведение к void и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 01:21 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
petravЗачем тут цикл, зачем приведение к void и т.д. Весь остальной букварь грязных Си-трюков тоже процитировать, начиная с "a=b=c=0" и "++p*=*q++"?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 01:49 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravЗачем тут цикл, зачем приведение к void и т.д. Весь остальной букварь грязных Си-трюков тоже процитировать, начиная с "a=b=c=0" и "++p*=*q++"?.. Приведённое тобой — это не грязные трюки. Это штатный и очевидный функционал Си. Осталось сверится с таблицей приоритетов операторов. На мои вопросы тебе есть что ответить? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 01:55 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
petrav a guest petrav, пожалуйсто вернись к программированию на 1C. В твоей команде на 1С платят мало, потому что твой хлебозавод загибается. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 01:58 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
petravНа мои вопросы тебе есть что ответить? Твои вопросы - тоже штатный и очевидный функционал макросов. Параметр используется чтобы компилятор не пропустил инвалидное выражение в нём. Он используется в круглых скобках чтобы обойти грабли с нетривиальными выражениями (гугли "зачем скобки вокруг параметров в макросе"). Он приводится к void чтобы подавить предупреждение о неиспользуемом результате. Он в цикле чтобы обойти грабли взаимодействия с if без кривых скобок (опять гугли "зачем фиктивный цикл в макросах"). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 02:01 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
a guest petrav пропущено... В твоей команде на 1С платят мало, потому что твой хлебозавод загибается. Объясни, плиз, зачем это (такой цикл) пишут в сишных макросах? И зачем приведение к `void`? Пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 02:05 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Мемберов не обсуждаем! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 10:40 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Он приводится к void чтобы подавить предупреждение о неиспользуемом результате. Спасибо, этого не знал. В Студии такого преобразования не требуется. По крайней на третьем уровне варнингов. Dimitry Sibiryakov Он в цикле чтобы обойти грабли взаимодействия с if без кривых скобок (опять гугли "зачем фиктивный цикл в макросах"). Да, и это в новинку. Но такой фиктивный цикл используется что бы обрамлять несколько выражений разделённых точкой с запятой. Я так вижу что тут это излишне. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 11:29 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
petravЯ так вижу что тут это излишне. То, что конкретно в этом макросе такое не случится, ещё не повод для него нарушать правила написания безопасных макросов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 13:40 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
petrav Но такой фиктивный цикл используется что бы обрамлять несколько выражений разделённых точкой с запятой. Я так вижу что тут это излишне. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 14:38 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Короче, макросы — зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:01 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Для тех, кому Си и С++ слишком сложны - были созданы Ява и С-шарп. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:06 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Для тех, кому Си и С++ слишком сложны - были созданы Ява и С-шарп. Ну... это тоже есть. Но главная задача все-таки стояла другая. Поэтому камент не полный. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:15 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Для тех, кому Си и С++ слишком сложны - были созданы Ява и С-шарп. Подмена понятий. :) Страуструп тоже считает макросы злом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:41 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
a guest petrav Но такой фиктивный цикл используется что бы обрамлять несколько выражений разделённых точкой с запятой. Я так вижу что тут это излишне. Инструмент не по делу применён. Кстати, забавно. Поскольку речь явно идёт о блокировках и мьютексах, то зачем макрос, который при данных настройках компилятора, ничего не делает? Они код собирают в однопоточном или многопоточном режиме? Наверное, да. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:44 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Ну так поищи другие определения этого макроса и посмотри при каких условиях они используются. PS: А Страуструп придумал макросы 2.0 - темплейты. Естественно, первую версию он будет считать злом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:53 |
|
Что делает этот код?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Ну так поищи другие определения этого макроса и посмотри при каких условиях они используются. PS: А Страуструп придумал макросы 2.0 - темплейты. Естественно, первую версию он будет считать злом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 16:24 |
|
|
start [/forum/search_topic.php?author=rasswet&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 562ms |
total: | 871ms |
0 / 0 |