标签: c

gdb无法运行"文件格式无法识别"的ELF 64位程序

我正在尝试使用GDB进行调试(以找到恼人的段错误).当我跑:

gdb ./filename
Run Code Online (Sandbox Code Playgroud)

从命令行,我收到以下错误:

This GDB was configured as "i686-pc-linux-
gnu"..."/path/exec": not in executable 
format: File format not recognized
Run Code Online (Sandbox Code Playgroud)

当我执行:

file /path/executable/
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

 ELF 64-bit LSB executable, AMD x86-64,
 version 1 (SYSV), for GNU/Linux 2.4.0, 
 dynamically linked (uses shared libs), not stripped
Run Code Online (Sandbox Code Playgroud)

我正在使用GDB 6.1,可执行文件是使用gcc版本3.4.6编译的.

在使用gdb方面,我有点失水,但据我所知,它应该在这个实例中工作.有什么想法会出错吗?

c debugging gcc gdb

13
推荐指数
2
解决办法
3万
查看次数

图像缩放和C/C++旋转

缩放2D图像阵列的最佳方法是什么?例如,假设我有一个1024 x 2048字节的图像,每个字节都是一个像素.每个像素都是从0到255的灰度级.我希望能够通过任意因子缩放此图像并获得新图像.因此,如果我将图像缩放0.68倍,我应该得到一个大小为0.68*1024 x 0.68*2048的新图像.一些像素将相互折叠.并且,如果我按比例缩放3.15,我会得到一个更大的图像,像素被复制.那么,实现这一目标的最佳方法是什么?

接下来,我希望能够将图像旋转任意角度,范围为0到360度(0 - 2Pi).旋转后裁剪图像不是问题.最好的方法是什么?

c c++ image image-scaling

13
推荐指数
5
解决办法
6万
查看次数

使用fork/execvp和系统调用之间的区别

使用system()执行二进制文件和使用fork/execvp的组合有什么区别.

是否有任何安全性/可移植性/性能差异.

c c++ unix linux

13
推荐指数
3
解决办法
7256
查看次数

C/C++编译器如何处理具有不同值范围的类型之间的类型转换?

如何在不丢失编译器内部数据的情况下进行类型转换?

例如:

 int i = 10;
 UINT k = (UINT) k;

 float fl = 10.123;
 UINT  ufl = (UINT) fl; // data loss here?

 char *p = "Stackoverflow Rocks";
 unsigned char *up = (unsigned char *) p;
Run Code Online (Sandbox Code Playgroud)

编译器如何处理这种类型转换?显示位的低级示例将受到高度赞赏.

c c++ compiler-construction types casting

13
推荐指数
3
解决办法
1万
查看次数

什么是轻量级跨平台WAV播放库?

我正在寻找一种轻量级的方法来使我的程序(用C语言编写)能够在Windows或Linux上播放音频文件.我目前正在使用Windows本机调用,这实际上只是一个传递文件名的调用.我想在linux上运行类似的东西.

音频文件是Microsoft PCM,单通道,22Khz

有什么建议?

c linux windows audio cross-platform

13
推荐指数
2
解决办法
7301
查看次数

在gcc 4.2.2中关闭特定功能的优化

是否可以关闭特定功能的优化?我的一个朋友有一个问题,gcc优化使一些(我不知道)μ控制器代码不起作用.我们知道它是哪些函数,但是我们对代码本身没有任何线索,所以最简单和最安全的方法可能就是为整个函数关闭它.

遗憾的是http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html显示有一个优化函数属性/ pragma,但它需要gcc 4.4,这是我们没有的.

提前致谢

c gcc

13
推荐指数
4
解决办法
2万
查看次数

char x [256] vs. char*= malloc(256*sizeof(char));

最近有人在我使用的一段代码中向我指出

char* name = malloc(256*sizeof(char));
// more code
free(name);
Run Code Online (Sandbox Code Playgroud)

我的印象是这种设置阵列的方式与使用相同

char name[256];
Run Code Online (Sandbox Code Playgroud)

并且两种方式都需要使用free().我错了,如果是这样,有人可以用低级别的术语解释有什么区别?

c arrays malloc

13
推荐指数
3
解决办法
3万
查看次数

从哪里开始(自学)学习C,还是应该学习不同的语言?

最近,我越来越发现拥有丰富的编程基础知识是件好事.可悲的是,我是(许多)自学成才的PHP开发人员之一,并且没有后悔选择这条道路.

但是,我仍然认为我应该从零开始将我的知识扩展到一些"真正的"编程语言,并从那里积累我的知识.我无意改变自己的职业道路,但我认为从网络开发框中思考是件好事.

我不喜欢上课或课程,因为我根本没有时间参加.所以:

  • 从零级开始,一步一步地教自己C的最佳方法是什么?

  • 由于我的主要目标是学习更多编程基础知识,C甚至是一个不错的选择吗?

  • 如果没有,会是什么语言?


截至目前的摘要:

首先,感谢所有出色的回应.这些将非常有帮助.虽然大多数人似乎都同意从C开始并不是一个糟糕的选择,但我也看到人们说跳过C并使用C++甚至C#可能是个更好的主意,因为这些语言更新.

我的个人意见仍然是从零级开始是好的,即使语言本身不直接有助于我做的事情.我仍然相信它会间接地让我成为一个更好的程序员.但话说回来,就像说的那样,我对这些语言的了解非常有限,所以我很想听听对此事的看法.

c

13
推荐指数
4
解决办法
1万
查看次数

更安全的C标准库替代品

在I/O安全方面,C标准库非常差.许多函数都有缓冲区溢出(gets,scanf),或者如果没有给出正确的参数(scanf),可能会破坏内存,依此类推.每隔一段时间,我就遇到一位有进取心的黑客,他自己编写了一个缺乏这些缺陷的图书馆.

你见过的这些图书馆有哪些最好的?您是否在生产代码中使用过它们,如果是这样,那么它们不仅仅是业余爱好项目?

c low-level

13
推荐指数
2
解决办法
2474
查看次数

sizeof(int)== sizeof(void*)?

是否存在与指针大小相同的整数类型?所有微体系结构都保证?

c pointers integer

13
推荐指数
4
解决办法
2万
查看次数