#c #terminology
#c #терминология
Вопрос:
Я наткнулся на несколько статей, относящихся к большому двоичному объекту C . Что это такое?
Я видел некоторый код, который использует его следующим образом:
char blob[100];
element = lst->putBlob(blob, strlen(blob));
Код здесь не очень важен, я просто хочу знать, что такое «большой двоичный объект».
Комментарии:
1. Что
lst
в этом фрагменте?2. Похоже, это массив символов.
3. @Griwes Мой комментарий был к LunixFrog, а не к твоему вопросу, лол. Мы сделали наши комментарии одновременно. 😉
4. Вы могли бы ссылаться на статьи, чтобы предоставить контекст.
Ответ №1:
«Большой двоичный объект» означает двоичный большой объект.
Комментарии:
1. … что подразумевает, что в данном конкретном контексте название ‘blob’ было выбрано неправильно, поскольку, по-видимому, оно подчиняется строковой семантике.
2. Круто, не знал, что это слово означает что-то большее, чем … blob.
Ответ №2:
«Большой двоичный объект» — это распространенное сокращение от «Binary Large Object», что означает, что это объект, содержащий большой объем двоичных данных. В некоторых языках есть собственные типы больших двоичных объектов, но в C их нет. Тем не менее, создать большой двоичный объект достаточно просто — вы просто создаете массив байтов. В вашем примере это делается путем создания массива char
s. Однако это может сбить с толку, поскольку массив символов имеет особое значение в C — это также строка. Тем не менее, при использовании в качестве большого двоичного объекта он может содержать любые данные (в этом случае strlen
не будет работать).
Комментарии:
1. Да, это очень необычно видеть
strlen
примененным к большому двоичному объекту. Как правило, есть способ определить, насколько он велик, в зависимости от источника данных и того, читаете вы или пишете.