Articles of libstdc ++

¿Por qué la implementación de std :: string de libc ++ ocupa una memoria 3x como libstdc ++?

Considere el siguiente progtwig de prueba: #include #include #include int main() { std::cout << sizeof(std::string("hi")) << " "; std::string a[10]; std::cout << sizeof(a) << " "; std::vector v(10); std::cout << sizeof(v) + sizeof(std::string) * v.capacity() << "\n"; } La salida para libstdc++ y libc++ respectivamente son: 8 80 104 24 240 264 Como puede ver, […]

Usando std :: array con listas de inicialización

A menos que esté equivocado, debería ser posible crear una matriz std: de esta manera: std::array strings = { “a”, “b” }; std::array strings({ “a”, “b” }); Y, sin embargo, usando GCC 4.6.1 no puedo hacer que ninguno de estos funcione. El comstackdor simplemente dice: expected primary-expression before ‘,’ token y, sin embargo, las listas […]

¿Cuándo es necesario usar use the flag -stdlib = libstdc ++?

¿Cuándo es necesario utilizar el flag -stdlib=libstdc++ para el comstackdor y el enlazador al comstackr con gcc? ¿El comstackdor usa automáticamente libstdc ++? Estoy usando gcc4.8.2 en Ubuntu 13.10 y me gustaría usar el estándar c ++ 11. Ya paso -std=c++11 al comstackdor.

Vincular libstdc ++ estáticamente: ¿cualquier problema?

Necesito implementar una aplicación C ++ creada en Ubuntu 12.10 con libstdc ++ de GCC 4.7 para sistemas que ejecutan Ubuntu 10.04, que viene con una versión considerablemente más antigua de libstdc ++. Actualmente, estoy comstackndo con -static-libstdc++ -static-libgcc , como lo sugiere esta publicación de blog: Vincular libstdc ++ estáticamente . El autor advierte […]

¿Dónde puedo obtener una copia del archivo libstdc ++. So.6.0.15

Estoy tratando de solucionar mi problema “GLIBCXX_3.4.15” no encontrado, que está bastante bien documentado para corregirlo. Pero requiere obtener el archivo “libstdc ++. So.6.0.15″ de alguna parte. La mayoría de las soluciones me dicen que la obtenga de la ubicación desde la que compilé mi biblioteca de C ++. Sin embargo, no lo compilé, vino […]

IOS7 (solo) problema de enlace stdlibc ++

Necesito ayuda. Tenía un framwork que estaba usando stdc ++ como std: string. Ahora cuando he creado una nueva aplicación para IOS7, solo hay un problema al vincular este framework debido a problemas con stdc ++ lib: Símbolos no definidos para la architecture armv7 “std :: basic_string, std :: allocator> :: _ Rep :: _ […]

¿Por qué no se puede comstackr el paso de los argumentos de referencia del objeto a la función de hilo?

He llegado a un problema con la nueva interfaz c ++ 11 std::thread . No puedo entender cómo pasar una referencia a un std::ostream a la función que ejecutará el subproceso. Aquí hay un ejemplo de pasar un número entero (comstackr y trabajar como se espera bajo gcc 4.6): void foo(int &i) { /** do […]

/usr/lib/libstdc++.so.6: versión `GLIBCXX_3.4.15 ‘no encontrado

¿Cómo puedo obtener GLIBCXX_3.4.15 en Ubuntu? No puedo ejecutar algunos progtwigs que estoy comstackndo. Cuando lo hago: strings /usr/lib/libstdc++.so.6 | grep GLIBC Yo obtengo: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH ¡Gracias por cualquier ayuda!

¿Gcc 4.8 o anterior tiene fallos sobre expresiones regulares?

Estoy tratando de usar std :: regex en un código de C ++ 11, pero parece que el soporte es un poco problemático. Un ejemplo: #include #include int main (int argc, const char * argv[]) { std::regex r(“st|mt|tr”); std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << std::endl; std::cerr << "st|mt|tr" << […]