草庐IT

bad_cast

全部标签

c++ - linux 上的运算符 new 和 bad_alloc

在Linux上,如果内存不足,malloc不一定返回空指针。如果您真的内存不足,您可能会取回一个指针,然后让OOMkiller开始吞噬进程。c++的operatornew也是如此还是会得到bad_alloc异常? 最佳答案 它是一个内核函数而不是语言函数-您可以使用vm.overcommit_memory和vm.overcommit_ratiosysctl来控制它。它们在/proc/sys/vm/overcommit_memory和/proc/sys/vm/overcommit_ratio的proc文件系统中可见。

linux - "Bad File Descriptor"异常因为使用nohup

我的应用程序可以通过linux操作系统中的终端作为shell可执行文件启动。我正常执行它时没有问题,但是当我将它与“nohup”命令一起执行时,它会在“nohup.out”中记录以下异常文件`Exceptioninthread"SpringShell"java.lang.IllegalStateException:Shelllinereadingfailureatorg.springframework.shell.core.JLineShell.promptLoop(JLineShell.java:541)atorg.springframework.shell.core.JLineSh

c - 文件打开成功但读取结果为 "Bad file descriptor"错误并且统计显示文件大小为零

我正在做一项作业,我们应该对使用较差的加密算法加密的PDF进行加密分析。教授提供的代码使用fd=open(filename,O_CREAT|O_WRONLY,S_IRUSR|S_IWUSR)创建加密文件。在我尝试解密的代码中,我使用fd_in=open(file,O_RDONLY)打开该文件。问题是,当我尝试从文件中读入时,出现“文件描述符错误”错误。我使用stat来尝试获取有关文件描述符对已打开文件的“想法”的更多信息,它显示文件的长度为0,而实际上它只有几百KB。我使用的调试代码是:if(0>(len=read(fd_in,(char*)&read_buff,BITE))){//B

linux - 糟糕 : kernel access of bad area, 信号:11 - 'swapper' - 终止中断处理程序

在嵌入式linux环境中(在PowerPC上定制的2.4.25)几个小时后我得到以下内核panic:Oops:kernelaccessofbadarea,sig:11NIP:C9471C7CXER:20000000LR:C0018C74SP:C0198E20REGS:c0198d70TRAP:0800NottaintedMSR:00009030EE:1PR:0FP:0ME:1IR/DR:11DEAR:C9876FFF,ESR:00000000TASK=c0197020[0]'swapper'Lastsyscall:120lastmath00000000lastaltivec000000

python /usr/bin/env : bad interpreter: Not a directory

我做错了。我安装了Python3,然后我执行了以下命令以使默认版本的Python成为Python3sudoln-fs/opt/Python-3.4.1/python/usr/bin/python但我想回到python2.7而我做到了sudoln-fs/usr/bin/python2.7/python/usr/bin/python现在,当我想运行一个带有python的bash脚本时,出现以下错误:/usr/bin/env:badinterpreter:Notadirectory当我运行这个命令时:ls-l/usr/bin/env我的结果是红色的:lrwxrwxrwx1rootroot25

c++ - Linux 上的 RTLD_LOCAL 和 dynamic_cast

我们有一个插件,它由应用程序中的一些共享库构成,我们需要在应用程序运行时对其进行更新。出于性能原因,我们在卸载旧插件之前加载并开始使用新插件,并且仅当所有线程都使用旧插件完成时才卸载它。由于新插件和旧插件的库中有相同的符号,我们使用dlopen()和RTLD_LOCAL。如果我们不小心从内部函数调用旧插件中的符号的新插件。插件的一个库对由插件的另一个库创建的对象执行dynamic_cast()。这适用于HP-UX、AIX、Solaris和Windows,但不适用于Linux。据我所知,这是因为所有这些操作系统(编译器)都使用类的名称来比较类型(在dynamic_cast()中),但Li

c++ - 在 C++ 中,当我对 -128,127 范围之外的整数值使用 static_cast<char> 时会发生什么?

在使用g++在i386Linux上编译的代码中,我使用了static_cast()对于char,强制转换的值可能超过-128,127的有效范围.没有错误或异常,所以我在生产中使用了代码。现在的问题是,当抛出超出此范围的值时,我不知道这段代码会如何表现。如果数据被修改或截断都没有问题,我只需要知道这种修改在这个特定平台上的表现如何。另外,如果使用C风格转换((char)value)会发生什么?它的行为会有所不同吗? 最佳答案 在您的情况下,这将是一个显式类型转换。或者更准确地说是积分转换。标准是这样说的(4.7):Ifthedesti

linux - 尝试运行 awk 可执行文件时出现 "bad interpreter"错误消息

我正在尝试使awk文件可执行。我已经编写了脚本,并执行了chmod+xfilename。这是代码:#!/bin/awk-v'TOPNUM=$1##pick1-pickonerandomnumberoutofy##mainroutineBEGIN{##setseedsrand()##getarandomnumberselect=1+int(rand()*TOPNUM)#printpickprintselect}'当我尝试运行程序并为TOPNUM放入一个变量时:pick150我收到回复:-bash:/home/petersone/bin/pick1:/bin/awk:badinterpre

python h5py文件读取 "OSError: Unable to open file (bad superblock version number)"

简短描述我有一个hdf5文件已经在Windows机器上写入并且无法在Linux机器上打开的问题。错误消息是“OSError:无法打开文件(错误的superblock版本号)”。(因此,这个问题可能与h5py根本无关,而是python文件打开时的一般linux/windows兼容性问题)。详细说明在Windows和Linux上都使用了具有以下软件包的python虚拟环境:flask-0.12.2flask-RESTful-0.3.6Jinja2-2.10MarkupSafe-1.0Werkzeug-0.14.1aniso8601-3.0.0点击-6.7h5py-2.7.1h5py-cac

php - 64 位 Linux/Ubuntu 和 openssl 问题(无法读取符号 : Bad value)

通常我会进行大量搜索和阅读以解决我的问题,但对于这个特定问题,它的效率非常低。我运行的是64位UbuntuLinux服务器,我在上面安装了LAMP堆栈,但遇到了libcurl不支持SSL的问题,而操作系统二进制文件确实支持SSL。PHP无法读取它。当我搜索解决方案并尝试执行以下操作以在安装PHP时启用ssl支持时,我遇到了问题.../configure....--with-openssl......./usr/bin/ld:ext/standard/.libs/info.o:relocationR_X86_64_32against`.rodata.str1.1'cannotbeused