草庐IT

Initialization

全部标签

linux - 我如何找出我的代码在哪里导致 GLib-GObject-CRITICAL?

当C/C++应用程序失败并出现以下CRITICAL时,您能否告诉我如何找出导致错误的代码位置?我曾尝试在调试器中运行它,尝试在程序失败时执行“bt”。但它没有显示导致CRITICAL的代码在哪里:(process:3155):GLib-GObject-CRITICAL**:/build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458:initializationassertionfailed,useIA__g_type_init()priortothisfunction(process:3155):GLib-CRITICAL**:g_once_in

c++ - boost 正则表达式构造函数中的互斥断言

我正在为Arm使用boost1.47,使用CodeSourceryC++编译器(4.5.1),从面向Ubuntu的Windows7进行交叉编译。当我们编译调试版本(即启用断言)时,会触发一个断言:pthread_mutex_lock.c:62:__pthread_mutex_lock:Assertion'mutex->__data.__owner==0'failed.在Release模式下编译,不会触发断言,程序运行良好(据我们所知)。这是在Ubuntu10.xArm板下发生的。因此,似乎pthread_mutex_lock认为互斥量是由与当前线程不同的线程设置的。此时在我的程序中,我

c++ - boost 正则表达式构造函数中的互斥断言

我正在为Arm使用boost1.47,使用CodeSourceryC++编译器(4.5.1),从面向Ubuntu的Windows7进行交叉编译。当我们编译调试版本(即启用断言)时,会触发一个断言:pthread_mutex_lock.c:62:__pthread_mutex_lock:Assertion'mutex->__data.__owner==0'failed.在Release模式下编译,不会触发断言,程序运行良好(据我们所知)。这是在Ubuntu10.xArm板下发生的。因此,似乎pthread_mutex_lock认为互斥量是由与当前线程不同的线程设置的。此时在我的程序中,我

记一次docker容器迁移后无法启动的解决

故障现象昨天进行从阿里云服务器(CentOS7.6)迁移docker容器到华为云服务器(HuaweiCloudEulerOS),迁移后容器无法启动,不停重启。dockerlogs--tail=500 容器名称#日志中翻查到报错libraryinitializationfailed-unabletoallocatefiledescriptortable-outofmemoryAborted(coredumped)解决方法#修改docker配置sudovim/etc/systemd/system/docker.service.d/override.conf在配置中增加如下内容[Service]Ex

记一次docker容器迁移后无法启动的解决

故障现象昨天进行从阿里云服务器(CentOS7.6)迁移docker容器到华为云服务器(HuaweiCloudEulerOS),迁移后容器无法启动,不停重启。dockerlogs--tail=500 容器名称#日志中翻查到报错libraryinitializationfailed-unabletoallocatefiledescriptortable-outofmemoryAborted(coredumped)解决方法#修改docker配置sudovim/etc/systemd/system/docker.service.d/override.conf在配置中增加如下内容[Service]Ex

Error occurred during initialization of VM Java虚拟机初始化失败

遇到这个问题,其实很多人就害怕了,根本找不到问题的原因…JVM那可是一个遥不可攀的东西,我写Java的,JVM报错了我咋整?首先,先排查一下你的环境是否按照规矩配置好了1.如果在Eclipse上运行出现了这个错误:估计是你的环境没有配置好,eclipse主要是通过JRE的运行环境来执行你的代码右击项目名,找到properties属性:1、点击JavaBuildPath,找到Libraries;2、点击Libraries进入;3、双击JRESystemLibrary如下图所示。然后Finish即可2.IDEA中出现这个情况File>ProjectStructure一般情况下,SDKs都会随着变化

Error occurred during initialization of VM Java虚拟机初始化失败

遇到这个问题,其实很多人就害怕了,根本找不到问题的原因…JVM那可是一个遥不可攀的东西,我写Java的,JVM报错了我咋整?首先,先排查一下你的环境是否按照规矩配置好了1.如果在Eclipse上运行出现了这个错误:估计是你的环境没有配置好,eclipse主要是通过JRE的运行环境来执行你的代码右击项目名,找到properties属性:1、点击JavaBuildPath,找到Libraries;2、点击Libraries进入;3、双击JRESystemLibrary如下图所示。然后Finish即可2.IDEA中出现这个情况File>ProjectStructure一般情况下,SDKs都会随着变化

c++ - 额外字节在 C++ 中是否初始化为 0?

假设我有一个包含int和char的结构:structthing_t{intvalue=0;charother_value=0;};由于内存中事物的对齐方式,sizeof(thing_t)应该是8,因为最大成员的大小是4个字节。如果我创建一个默认初始化的thing_t实例,额外的3个字节是否会被初始化为0?我知道这通常不会出现,但我正在编写一个散列函数,散列函数的默认行为是散列一个泛型类型,就好像它是一个字节数组一样。如果额外的字节偶尔没有初始化为0,我意识到我的方法可能会导致问题。 最佳答案 我在C++11标准中找不到任何关于当对象

c++ - 额外字节在 C++ 中是否初始化为 0?

假设我有一个包含int和char的结构:structthing_t{intvalue=0;charother_value=0;};由于内存中事物的对齐方式,sizeof(thing_t)应该是8,因为最大成员的大小是4个字节。如果我创建一个默认初始化的thing_t实例,额外的3个字节是否会被初始化为0?我知道这通常不会出现,但我正在编写一个散列函数,散列函数的默认行为是散列一个泛型类型,就好像它是一个字节数组一样。如果额外的字节偶尔没有初始化为0,我意识到我的方法可能会导致问题。 最佳答案 我在C++11标准中找不到任何关于当对象

c++ - 允许变量未初始化有什么好处?

在许多语言中,您可以在初始化变量之前声明并使用它。例如,在C++中,您可以编写如下代码片段:intx;cout这当然会返回不可预测的(好吧,除非你知道你的程序是如何映射内存的)结果,但我的问题是,为什么编译器允许这种行为?允许使用未初始化的内存是否有一些应用或效率?编辑:我突然想到,将初始化留给用户会最大限度地减少对生命周期有限(写入周期)的内存介质的写入。只是上述“性能”标题下的一个具体示例。谢谢。 最佳答案 我的想法(我以前错了,问问我的妻子吧)是它只是该语言早期版本的遗留物。C的早期版本不允许您在函数中任何您想要的位置声明变量