Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение
Вероятность судебной ошибки пренебрежимо мала :)
Очень приятно, что этот метеорит упал в России. Неприятно, что наши геологи, найдя его, невдуплили что это такое, а разобрался только иностранный товарищ.

Кстати, у «ведущего российского специалиста» на последней фотографии выражение лица такое, будто этот метеорит ему на голову упал :)
Я пробовал аналогичную диагностику в Clang на одном большом проекте. Результат — 0 ложных срабатываний, поймано 3 бага типа ужас-ужас. Наверное, дело в том, что там COM не используется ;)
Вы меня неправильно поняли. Я отвечал на утверждение что в gcc для ARM backtrace() не работает.

Работает. И в весьма древнем GCC.

А символов нет потому что я backtrace_symbols() не вызываю :) Если вызвать — появятся. Конечно, придется добавить что-то вроде -rdynamic, чтобы нужные символы оказались в динамической таблице.
хм, лишних переносов строк в предпросмотре не было
Да что вы говорите.
gcc version 4.3.2 (crosstool-NG-1.9.3)

#include <stdio.h>
#include <execinfo.h>
#include <inttypes.h>

void print_backtrace(void) {
void* buf[64];
int size = backtrace(buf, 64);
printf("backtrace(%d):\n", size);
for (int i = 0; i < size; ++i)
printf(" %lx\n", (unsigned long)buf[i]);
}

void f(void) {
print_backtrace();
}

int main(void) {
f();
return 0;
}


arm-unknown-linux-gnueabi-g++ zz.cc -o zz -O0 -march=armv7-a

backtrace(4):
84ec
8574
8588
4027cc3a
Так в этом и есть весь смысл volatile — сказать компилятору, чтобы с этой переменной он не умничал :) Он не способен, не будет и не имеет права догадываться что там на самом деле за память.
1.9.7:
Accessing an object designated by a volatile lvalue (3.10), modifying an object, calling a library I/O function, or
calling a function that does any of those operations are all side effects, which are changes in the state of the execution
environment. Evaluation of an expression might produce side effects. At certain specified points in the execution sequence called sequence points, all side effects of previous evaluations shall be complete and no side effects of subsequent
evaluations shall have taken place.

Sequence point имеется после каждого statement.

Семантики с точки зрения видимости в других потоках у volatile может не быть, но точно есть семантика с точки зрения видимости железом. Он вообще изначально вводился для работы с портами ввода-вывода и подобными вещами, где каждая операция над ячейкой памяти наблюдается кем-то со стороны и может быть проинтерпретирована как угодно. Поэтому обращения к volatile переменным не могут быть склеены или переставлены _компилятором_ (процессором — могут быть переставлены, и поэтому он бесполезен для синхронизации потоков).
(б) — нет, с volatile не может.
Да, нормальный вариант. Но здесь, конечно, хотелось бы стабильного формата архива :)
Ваш архиватор относительно быстро сжимает, но очень медленно разжимает. Странно, и непонятно куда это можно применить.
А валидация все равно будет на уровне нативного кода.

Кстати, это не байткод, а биткод :)
Нет никакого байткода. В NaCl — ограниченное подмножество x86 инструкций, причем ограниченное очень тривиально => весьма простой и очевидно корректный валидатор.
Он может вообще больше ничего не уметь, но это — обязан.
Фигасе, там на странице Опера упоминается.
Резистивный экран — это грустно.
Большая ошибка! Этот код возвращает завтрашнюю дату завтра. Чтобы получить завтрашнюю дату сегодня, надо добавить sleep( -86400 ) в конце.
Странно, что в статье совсем не учитывается тот факт, что большинство операций записи — асинхронные, а большинство операций чтения — синхронные. И пользователь замечает задержку именно на операциях чтения. Запись, тем более маленькими 4k блоками (их не может быть _очень_ много, иначе HDD бы просто умер) легко ляжет в кеш и размажется по времени так что вы заметите только помигивание лампочки диска, и все.
Вроде все нормально, поисковик понял что это одно слово, просто чуть переупорядочил выдачу в пользу той формы, которая дана в запросе. Заговорил на языке пользователя :)
Спасибо, сайт удобный и приятно выглядит.

А теперь немного критики.

Если быстро несколько раз кликнуть по любой кнопке, счетчик ответов накручивается, а потом сайту начинает потихоньку сносить крышу )
Еще, изображение иероглифа появляются настолько медленно, что я начинаю пытаться его угадать по вариантам ответов. Хотя бы сделайте, чтобы кнопки с ответами не появлялись пока изображение не загрузится.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность