我的老板认为我们编写的任何代码(在C/C++中)都必须符合静态分析工具(如MISRA/Lint)指定的标准.我对此的看法是因为编译器今天发展得很好,这真的需要吗?
这里的问题是这些静态分析现在的效果如何?
有时当我运行我的代码时,当我通过Ctrl+ 终止程序时会生成核心转储文件\.文件名是表单的名称core.*.该程序没有突然终止,并且没有分段错误.我相信它是,SIGQUIT而不是SIGABRT或SIGSEGV.如果我尝试Ctrl+ C,或Ctrl+ Z,则不会生成.
任何人都可以告诉为什么只有在按下Ctrl+ 时才生成它\?如何避免生成此核心转储文件?核心转储文件有用吗?
C++文件I/O比C文件I/O更难.那么在C++中,为文件I/O创建一个新库是否有用?我的意思是<fstream>
任何人都可以告诉我C++文件I/O有什么好处吗?
我正在使用消息队列作为2个程序之间的ipc.现在我想使用消息队列将数据从一个程序发送到另一个程序,然后通过SIGINT信号将其发送给它.
我不知道如何将信号从一个程序发送到另一个程序.任何人都可以提供示例代码,如果他们有解决方案.
我想找到关于"嵌入式平台上的C++编程"的信息.我用Google搜索,但我无法找到有关该主题的足够信息.我想要找到的是C++在具有详细描述和示例的嵌入式环境中是如何有用的(如果可用的话)
任何人都可以建议任何链接或任何免费的电子书下载,如果我能得到的?
我陷入困境.我的问题是在整数数组中获得最多重复的数字,该数组的值可以是0到5,000.该数字至少应重复n/4次,其中n是数组长度.
我看了提取至少n/2次重复元素.但我无法根据我的要求修改它.此外,由于我的不是字符数组,我不能创建一个5000大小的数组来增加重复数字的索引.
如何在linux c ++中实现posix线程.当保存为".c并使用c编译器运行时,smme程序是可以的.但是在c ++中它给出了错误..
我认为编译时我犯了错误,就像c ++的"-lpthread"一样包含任何标记
有人可以发送有效的代码......?
实际上这是我的代码
int cooperbussman :: startlistenthread()
{
if(pthread_create(&m_thread,0,&packetreadertask,0)<0)
{
cout<<"Unable to create the thread Startlistenthread\n";
return -1;
}
return 1;
Run Code Online (Sandbox Code Playgroud)
而我得到的错误是
cooperbussman.cpp: In member function âint cooperbussman::startlistenthread()â: cooperbussman.cpp:76: error: invalid conversion from âvoid* (*)()â to âvoid* (*)(void*)â cooperbussman.cpp:76: error: initializing argument 3 of âint pthread_create(pthread_t*, const pthread_attr_t*, void* (*)(void*), void*)â
我有一个这样的程序
list<int>:: iterator n = alist.begin();
while(n!= (list<int>::iterator)0)
{
printf("Element is %d\n",*n);
n = alist.erase(n);
}
Run Code Online (Sandbox Code Playgroud)
所以我在这里将迭代器与零进行比较.但删除最后一个元素后,编译器显示此错误.
*** glibc detected *** ./new: free(): invalid pointer: 0xbf99cb10 *** ======= Backtrace: ========= /lib/libc.so.6[0xb7d956e1] /lib/libc.so.6(cfree+0x89)[0xb7d96d79] /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7f3ff81] ./new[0x8048c81] ./new[0x8048ca6] ./new[0x8048d07] ./new[0x8048d39] ./new(__gxx_personality_v0+0x216)[0x804888e] /lib/libc.so.6(__libc_start_main+0xdc)[0xb7d46f9c] ./new(__gxx_personality_v0+0x49)[0x80486c1] ======= Memory map: ======== 08048000-0804a000 r-xp 00000000 08:09 3704751 /home/sathya/chaithra/archivesthrash/new
如果队列/列表为空,我希望迭代器为零..我该怎么办?因为在我的项目中我需要将此迭代器与零进行比较,而不是与alist.end()进行比较.这可能是什么解决方案?
我使用C作为编程语言.使用float/signed int变量时如何忽略符号?例如,如果float/signed int f = -40或+40,则在数学运算(如+ b*f)之后结果应该相同
以前我发布了一个程序,并询问如何在Javascript中处理cookie.我发布了一个代码,你可以在我的另一个问题中找到它.许多人给出了很好的答案,我也试过他们的解决方案.但由于我是这个HTML的新手,javascript可能是我不知道如何找到错误并调试它.
那么任何人都可以为这个问题发布他们的解决方案.我希望创建一个网页,在加载时应检查cookie.如果cookie早于20分钟,则必须进入登录页面(询问用户名和密码).否则不需要登录,它应该直接进入一个页面(正在设计中).
因此,如果任何人已经拥有类似或确切的代码(保持cookie的时间),请发布它.
关心Chaithra