我有一些与Ubuntu12.04上的C编程有关的问题。在编译由pow组成的C程序时,我遇到了一些困难。然后我在互联网上搜索并得到了-lm的解决方案。但那是汇编的部分。如何执行并运行包含pow的程序?我没能执行和运行。短信上写着No such file or directory。我能做什么?
再说一遍,在Ubuntu上学习C编程有什么简单的方法吗?在Ubuntu上,我可以完全专注于编码?我不喜欢考虑编译、执行和运行代码。我应该用IDE吗?你说呢?
以下是编译代码时获得的错误
$ cc -o mq mq.c
ld: 0711-317 ERROR: Undefined symbol: .MQCONN
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
mqconn函数在头文件cmqc.h中定义,头文件包含在mq.c文件中
如何解决这个与文件链接相关的错误?
根据我的要求。假设我有以下文件
abc.h //used for C file
int new; // All C++ keywords, new use as a variable
char class; // All C++ keywords, class use as a variable
Actual_task();
abc.c //C file
main()
{
...//Body of file where they have used new and class variable
new++; //for an example
class = 'C';
ac
我读到了这个答案:
我的问题更具体:
在使用access()、open()、creat()、write()、read()等系统调用的程序中...我必须声明每个系统调用函数吗?这就是C的工作方式吗?因为我得到了以下信息:
hw1.c: In function ‘main’:
hw1.c:50:9: warning: implicit declaration of function ‘access’ [-Wimplicit-function-declaration]
hw1.c:131:9: warning: implicit declaration of function ‘lseek’ [-W
我试图找到一些关于C函数的理论的官方证实。在我的一个简单项目中,我有一个函数,我只想在定义它的.c文件中显示它。功能原型是:
static int sum(int a, int b);
职能定义是:
int sum(int a, int b) {
return (a+b);
}
根据对构建输出、链接映射等的分析,该函数似乎确实是静态的。我感到惊讶的是,我也没有收到任何构建警告或错误。然而,在文档方面(即GCC手册中的具体行),是否有任何东西可以确认这种行为,或者说预期是什么?
我已经为C++ ()找到了与这个问题相当的问题,但我正在寻找关于纯C的答案。
谢谢。
我正在编写一个用于学习的简单程序,我看到了以下行为:
如果我尝试使用getenv读取环境变量,它会按预期工作:
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("PATH is %s", getenv("PATH"));
return 0;
}
如果不包含stdlib.h,我会收到预期的警告:
env.c:7:26: warning: implicit declaration of function ‘getenv’; did you mean ‘g
我正在使用2013。我在C源文件(file1.c)中声明了一个全局变量,并在C++源文件(file2.cpp)中定义的方法中使用了该变量。两个文件中包含的标题将变量声明为extern。项目属性C\C++ -> Advanced -> compile as设置为defualt,根据文档,这意味着编译器使用文件扩展名来推断文件类型。此设置将导致unresolved external symbol链接错误。如果我将此选项设置为Compile as C code或Compile as C++ code,则项目编译和链接时不会出现错误。我不明白这种行为。(顺便说一句,在linux/GCC下,