All streams
Search
Write a publication
Pull to refresh
2
0
Anton Shchirov @AntonShchirov

User

Send message
Размер структуры 'S' из-за изменений правил выравнивания и изменения размера члена 'b' вырастет с 12 до 24 байт при перекомпиляции в 64-битном режиме. Структура передается в функцию по значению
А как же http://msdn.microsoft.com/ru-ru/library/ms235286.aspx
Любые аргументы, не равные 8 байтам или 1, 2, 4 или 8 байтам, передаются по ссылке. Попыток разместить один аргумент по нескольким регистрам не происходит.
?
Огромное спасибо за статью. Хочу только внести некторые поправки
1) В функции getCharTransformations неправильно указаны регэкспы. Вместо
if (preg_match("#<([0-9a-f]{4})>\s+<([0-9a-f]{4})>\s+<([0-9a-f]{4})>#is", trim($current[$k]), $map)) { 

и
} elseif (preg_match("#<([0-9a-f]{4})>\s+<([0-9a-f]{4})>\s+\[(.*)\]#ismU", trim($current[$k]), $map)) { 

должно быть
if (preg_match("#<([0-9a-f]{1,4})>\s*<([0-9a-f]{1,4})>\s*<([0-9a-f]{1,4})>#is", trim($current[$k]), $map)) { 

и
} elseif (preg_match("#<([0-9a-f]{1,4})>\s*<([0-9a-f]{1,4})>\s*\[(.*)\]#ismU", trim($current[$k]), $map)) { 


Далее встречается plain-текст который требует трансформации. Поэтому заменил строки в функции getTextUsingTransformations

// либо в "чистую" строку, если была открыта круглая скобка. 
if ($isPlain) 
    $plain .= $c; 

на

// либо в "чистую" строку, если была открыта круглая скобка. 
if ($isPlain) {
    $key = sprintf("%04X", ord($c));
    if (isset($transformations[$key]))
        $c = html_entity_decode("&#x".$transformations[$key].";");
    $plain .= $c; 
}

насколько это правильно это отдельный вопрос.

А теперь вопрос — если в документе несколько таблиц преобразования, то как определить какую когда нужно использовать?
Я даже представить не могу, что еще нужно добавлять?
Можно. Только зачем выводить данные в консоль если нужно в файл?
Зачем писать две пары скобок, если можно одну?
Да. У того же PHP расширения нужно собирать тем компилятором, каким собран основной модуль.

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity