Как вы относитесь к включению ie7.js или ie8.js на своей странице?

Вы не можете возвращать массивы из функций из C. Вы также не можете (не должны) делать это:

char *returnArray(char array []){
 char returned [10];
 //methods to pull values from array, interpret them, and then create new array
 return &(returned[0]); //is this correct?
} 

returned создается с автоматическим временем хранения и ссылками на него станет недействительным, когда он покинет область объявления, т. е. когда функция вернется.

Вам нужно будет динамически распределить память внутри функции или заполнить предварительно выделенный буфер, предоставленный вызывающим.

Вариант 1:

динамически выделяет память внутри функции (вызывающий абонент, ответственный за освобождение ret)

char *foo(int count) {
    char *ret = malloc(count);
    if(!ret)
        return NULL;

    for(int i = 0; i < count; ++i) 
        ret[i] = i;

    return ret;
}

Вызывает его так:

int main() {
    char *p = foo(10);
    if(p) {
        // do stuff with p
        free(p);
    }

    return 0;
}

Вариант 2:

заполнить предварительно выделенный буфер, предоставленный вызывающим абонентом (абонент выделяет buf и переходит к функции)

void foo(char *buf, int count) {
    for(int i = 0; i < count; ++i)
        buf[i] = i;
}

И назовите его так :

int main() {
    char arr[10] = {0};
    foo(arr, 10);
    // No need to deallocate because we allocated 
    // arr with automatic storage duration.
    // If we had dynamically allocated it
    // (i.e. malloc or some variant) then we 
    // would need to call free(arr)
}
30
задан Bryan Denny 31 December 2008 в 13:56
поделиться

6 ответов

Я знаю многих людей, сам включал, которые используют различные взломы IE для получения прозрачной поддержки PNG. Это похоже на немного большее количество справки, и, пока она работает, и размер является довольно небольшим, я не видел бы много против использования ее.

10
ответ дан Mitchel Sellers 31 December 2008 в 13:56
поделиться
  • 1
    Май избирателя @Down я знаю то, что проблема, с которой Вы сталкиваетесь здесь? – Shylendra Madda 6 September 2017 в 09:49

Пока Вы знаете точно, что это фиксирует, я сказал бы, идут для него. Я не уверен в этом lib точно, но некоторые освобождают, становятся очень дорогими, если у Вас есть большой DOM, поскольку они имеют тенденцию сцепляться в поведениях основы файла HTC на КАЖДОМ Элементе DOM. Это заставляет страшную "Загрузку x y" сообщение строки состояния постоянно высвечиваться на начальной загрузке, и любой недавно генерировал содержание DOM.

3
ответ дан scunliffe 31 December 2008 в 13:56
поделиться
  • 1
    Я не могу выполнить команду su. Я получил " управляйте не found". возможно, причина это не базировано? Я выполняю команду setprop без su, но я получил " не может установить property". – alexpfx 9 July 2015 в 21:01

хорошо его красивое и работы трут способ, которым можно использовать cs3 функции как li:hover. мы сделали потерянный проекта в прошлый раз с помощью ie8.js, и он работает отличный способ.

1
ответ дан 31 December 2008 в 13:56
поделиться
  • 1
    Обратите внимание, что вопрос указывает, что устройство не сделано рутинг, таким образом su не будет доступно. – CommonsWare 9 July 2015 в 20:59

Я знаю, что существуют некоторые инструменты для решения прозрачной проблемы PNG, которые более гибки, чем это. Например, плагин jQuery ifixpng2 поддержит фоновую позицию, которую не делает ie7-js.

4
ответ дан mcherm 31 December 2008 в 13:56
поделиться

Это работает, но, который стоит иметь в виду, что ie7.js и ie8.js действительно намного больше, чем оказывают прозрачную поддержку PNG. Даже с прозрачной поддержкой PNG, который стоит иметь в виду, что изображения прозрачного фона не могут быть размещены (повторенное) фоновое повторение использования рядом или расположили позиционное фоном использование. Это препятствует любой способности использовать трансформации CSS, использующие позиционный фоном. Я только использовал его на одном сайте, который я сделал, и теперь, когда я обновляю сайт, я не могу удалить ie8.js потому что, если я делаю все расположение повреждений веб-сайта в IE. Я не полагаю, что буду использовать его в будущем, и вместо этого полагаться на простые взломы CSS или просто позволять моим сайтам "ухудшаться корректно" в IE6.

5
ответ дан 31 December 2008 в 13:56
поделиться
  • 1
    Вы don' t нужен su, чтобы заставить его работать надо всеми моими устройствами [приблизительно 10], надо надеяться, это - стандартная вещь. – Krystian 24 March 2018 в 11:52

Я использовал его раньше, и мои результаты смешаны. Эти сценарии приводят к тому, что IE загружается немного при загрузке страницы. По сути, вы должны думать об этом, как об элементах и ​​правилах таблиц стилей, чтобы применять «исправления» для областей, в которых отсутствует конкретный механизм рендеринга. В некоторых случаях, в зависимости от сложности вашей разметки или таблиц стилей, это может занять некоторое время, и вы увидите зависание браузера.

если вы сможете обойтись без этих затрат на производительность, вы сэкономите время на разработку, так как будете тратить меньше времени на хакерские обходы IE6; IE7 / IE8 предоставит достаточно недостающей функциональности, чтобы вы могли избежать определенных крайних случаев, лучше разрабатывать с использованием стандартов (min-width / min-height, множественных селекторов className и т. Д.), И некоторые проблемы с рендерингом исчезнут.

Однако, если вам просто нужна 24-битная прозрачная поддержка PNG, используйте инструмент, созданный для этого. Включать IE7 / IE8.js только для поддержки PNG - все равно что колотить в гвоздь с танком. Для этого используйте DD_belatedPNG.

и некоторые проблемы рендеринга исчезнут.

Однако, если вам просто нужна 24-битная прозрачная поддержка PNG, используйте инструмент, созданный для этого. Включать IE7 / IE8.js только для поддержки PNG - все равно что колотить в гвоздь с танком. Для этого используйте DD_belatedPNG.

и некоторые проблемы рендеринга исчезнут.

Однако, если вам просто нужна 24-битная прозрачная поддержка PNG, используйте инструмент, созданный для этого. Включать IE7 / IE8.js только для поддержки PNG - все равно что колотить в гвоздь с танком. Для этого используйте DD_belatedPNG.

10
ответ дан 28 November 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: