当前位置:首页 » 编程软件 » c编译器在线

c编译器在线

发布时间: 2022-01-08 13:14:39

① c++语言和C++编译器(在线等)

Visual C++是一个集成环境的C++编译器,功能多着呢。微软产品。
Borland C++ Buider C++编译器,比较小巧实用。
Borland C++ 也是C++编译器,一般是包含上面的Buider,分不开的。(个人意思)
C++ Buider 也是C++编译器,是另一个公司的产品。也挺实用的,功能不多。
c语言,也就是一般的写程序时的标准约束。一般都尊守ANSII的标准。也就是说语法规则,函数库等等。

② 如何用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!"了

③ 在线吗请教个问题。我想用asp。net开发一个c语言在线编译器,就是c#直接调用c编译器实现编译运行

类似ACM的判定平台是么
本质上还是调用C编译器或编译库
把字符穿进去
你可以尝试在网页上起个线程直接调用外面的DLL 把字符串传进去试试

④ 求助C/C++有网上在线编译器吗

有种东西叫做网络

⑤ 能实现输入函数的C/C++在线编译器

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

⑥ 目前最好用的c语言编译器

没有最好用的,只有最适用的C编译器,因为C语言是平台依赖型系统高级语言。在Linux上就是GCC用的最多,Windows上就是VC

⑦ 请问谁有用Java语言编写的C/C++语言在线编译器

那个是 Online Judege 系统吧

⑧ windows下C语言编译器

c-free很好用,可以编译C和C++程序,而且支持中文,但因为默认是C++,所以编写C语言程序的时候要记得写扩展名.c

⑨ 最好的手机C语言编译器。(要中文版的)

C4droid 搜索这个: C++编译器 C4droid汉化版

⑩ 最好的在线编译器是什么网站必须包括c和c++的编译器.

http://cmpe150-1.cmpe.boun.e.tr/phpccompiler/login.php

热点内容
pythonfuture 发布:2024-12-25 01:46:47 浏览:586
如何提升交换机配置能力 发布:2024-12-25 01:41:53 浏览:669
安卓系统怎么删除主屏 发布:2024-12-25 01:41:45 浏览:493
微信小程序客户端是如何访问服务器的 发布:2024-12-25 01:39:26 浏览:508
python逗号split 发布:2024-12-25 01:24:06 浏览:155
sqlwithas效率 发布:2024-12-25 01:21:25 浏览:484
pcielinux 发布:2024-12-25 01:12:02 浏览:644
展示迷宫算法 发布:2024-12-25 00:58:25 浏览:438
手机酷我音乐上传歌词 发布:2024-12-25 00:58:14 浏览:797
路由器哪里改密码 发布:2024-12-25 00:53:18 浏览:659