导航:首页 > 源码编译 > c语言函数编译器

c语言函数编译器

发布时间:2022-05-12 05:53:34

‘壹’ 能实现输入函数的C/C++在线编译器有哪些

我认为目前最好用的在线编译器; http://www.mcqyy.com/RunCode/cpp/

‘贰’ 用哪个c语言编译器既好用又支持所有的函数

visual studio 2008 或visual studio2010(Windows 下)linux下的就只有GCC和G++

‘叁’ C语言,在windows系统上装了C语言编译器。

都没有必要,windows 通过 提供一套标准(当然是 windows 标准) api 函数,屏蔽硬件细节,用户不用考虑硬件细节。硬件的驱动程序由生产者依据 windows 标准提供驱动程序,否则, windows 就不接受这个硬件,对于用户来说就无法使用他,当然,作为标准硬件,虽然系统没有安装,windows 任然提供 api,这是调用这些 api 时,会返回特定的错误值告知用户:此硬件不可用。看看 windows 的市场,硬件厂商乖乖的按 windows 标准编写驱动程序。
在 windows 系统中,所有的程序都是通过调用 windows api (当然,可能一些特殊程序还有使用到 ActiveX 等,那么,这样的程序还包括一些 ActiveX api 函数) 实现与系统资源交互的,在Windows上C 语言(等)编译器将程序中的与系统资源交互的代码都编译成 windows api 函数的调用。如 setviewport 函数最终编译后就转换成一些 windows api 函数。

‘肆’ 困惑已久的问题:编译器到底怎样对待函数的声明的呢

你这个问题看似简单,其实涉及到了函数的声明与定义,以及C语言的标准规范具体编译器的实现问题。


从标准规范来看:


  1. C语言允许函数里声明函数,但是不建议这么写,因为不利于多文档的组织。

  2. C语言禁止函数里定义函数,但是个别编译器却没遵循标准。

  3. C语言的标准编译器的实现并不是完全统一,为了可移植性,建议一切都按C语言标准中推荐的做法来写。




我还写了个代码附带注释,程序在CFree这个IDE(内置gcc编译器)上运行是通过的,但是在VC++6上就可能通不过了,主要是编译器具体实现不同。
#include<stdio.h>

//函数外
//声明,允许,推荐的做法
intadd1(inta,intb);

intmain(intargc,char*argv[])
{
//函数内
//声明,允许,但是不建议这么写
intadd2(inta,intb);

//C语言标准里禁止函数内定义函数、
//但是有个别编译器也允许这样做,比如GCC
//此种写法不通用,强烈不建议使用
intadd3(inta,intb)
{
returna+b;
}

//C99标准中,调用函数之前,必须保证声明已出现过
printf("%d ",add1(1,2));
printf("%d ",add2(2,3));
printf("%d ",add3(3,4));

return0;
}

//函数外
//定义,允许
intadd1(inta,intb)
{
returna+b;
}

//定义,允许
intadd2(inta,intb)
{
returna+b;
}



-->您的采纳是我们的动力<--

‘伍’ C语言编译器上为什么我使用#error错误

楼上说的我大部分赞同,最后一项,不同意,标准c
c++要求使用int类型返回值,因为正常的程序main函数必须有个返回值作为退出状态。
翻译:“警告main函数应该有个返回值,假设返回void类型”。
第13行的main函数前面加上类型int。

‘陆’ 请问那里有免费C语言的编译器下载

上多特,绝对速度快,网址是
http://www.ote.com/
用迅雷下,在多特搜索里搜Dvec就能搜到,点以"Dvec++"开头的,速度超群,设置语言在第五栏里,再选第五栏的第二个。出现选项。最上面第二行点第二个,就有调语言的了

‘柒’ 哪个C语言的编译器好用要有标准库函数的

朋友,Turbo C其实挺好的,如果你想真正的学习C语言,我建议您从Tubo c开始入手,不要嫌Turbo C界面不好看,但是它能帮助你真正的理解C,比如graphic.h这个图形图像库文件就能帮助你深刻的理解C的图形编程。而且Turbo C开发环境很小,1M左右,可以放在U盘中哦。
希望我的回答对您有所帮助,祝您生活开心O(∩_∩)O~!

‘捌’ window内自带的C语言编译器怎么用

1、首先,输入【#include】。


注意事项:

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

‘玖’ 如何用java调用c语言编译器实现在线编译c语

要在java中调用c语言的库,需要使用Java提供了JNI。
举例说明
在c语言中定义一个 void sayHello()函数(打印Hello World);然后在Java中调用这个函数显示Hello Word.
现在分别从Java和C语言两部分说明:
1. Java 部分
首先定义一个HelloNative,在其中申明sayHello函数,函数要申明为Native 类型的.如下:
public class HelloNative {
public native void sayHello();
}

编译这个类,生成class文件:
javac HelloWorld.java

利用javah生成需要的h文件
javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloNative */

#ifndef _Included_HelloNative
#define _Included_HelloNative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloNative
* Method: sayHello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloNative_sayHello
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

可以看一下上面自动生成的程序,程序include了jni.h,这个头文件在 $JAVA_HOME下的include文件夹下. 还可以发现生成的函数名是在之前的函数名前面加上了Java_HelloNative。
2. C语言部分
根据上面生成的h文件编写相应的代码实现,建立一个 HelloNative.cpp用来实现显示Hello World的函数.如下:

#include <stdio.h>
#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)
{
printf("Hello World!\n");
}

代码编写完成之后,我们再用gcc编译成库文件,命令如下;
gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

这样就会在当前目录下生成一个libHelloNative.so的库文件.这时需要的库已经生成,在C语言下的工作已经完成了.
接下来需要在Java中编写一个程序测试一下.在程序前,需要将我们的库载入进去.载入的方法是调用Java的 System.loadLibrary("HelloNative");

public class TestNative
{
static {
try {
System.loadLibrary("HelloNative");
}
catch(UnsatisfiedLinkError e) {
System.out.println( "Cannot load hello library:\n " + e.toString() );
}
}
public static void main(String[] args) {
HelloNative test = new HelloNative();
test.sayHello();
}
}

但是再编译后,运行的时候,问题又出现了.
Cannot load hello library:
java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V
at HelloNative.sayHello(Native Method)
at TestNative.main(TestNative.java:13)

载入库失败,但是库明明就是放在当前文件夹下的,怎么会载入失败呢?
用System.getProperty("java.library.path")查看,发现java.library.path中并不u存在当前的目录.主要有以下的几个解决办法:
1) 将生成的库复制到java.library.path有的路径中去,当然这样不是很好
2) 设置环境变量export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,将当前的目录加入到LD_LIBRARY_PATH中
3) 设置java 的选项,将当前的目录加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH
这样之后程序就能够成功的运行了.可以看见显示的"Hello World!"了

‘拾’ 求推荐一个有Setcolor()函数的C语言编译器

可以试试EGE库,配置可能需要一些功夫,但是使用起来很方便。CFREE,DEV,CODEBLOCKS都可以使用,也有现成的。

阅读全文

与c语言函数编译器相关的资料

热点内容
3dmax编辑样条线快捷命令 浏览:708
怎么获得音乐的源码 浏览:249
郭麒麟参加密室完整版 浏览:318
单片机排线怎么用 浏览:483
java字符串太长 浏览:868
python变量计算 浏览:115
网银pdf 浏览:134
iponedns服务器怎么设置复原 浏览:405
深圳电力巡检自主导航算法 浏览:436
十二星座的布娃娃怎么买app 浏览:321
反编译打包地图不显示 浏览:92
没有压缩的图片格式 浏览:468
斯维尔文件需不需要加密狗 浏览:300
柱加密区范围在软件中设置 浏览:706
纸质音乐压缩教程 浏览:33
安卓手机健康码快捷方式怎么设置 浏览:477
程序员是怎么发明的 浏览:175
新手程序员的职业规划 浏览:175
c源程序通过编译得到的目标文件 浏览:412
mpu6050控制单片机 浏览:751