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

c在线编译

发布时间: 2022-01-10 01:54:32

‘壹’ 有什么好的c语言在线编程网站吗

南洋理工学院的OJ系统还是不错的,希望对你有帮助,望采纳

‘贰’ 能实现输入函数的C/C++在线编译

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

‘叁’ 如何在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!"了

‘伍’ 求助C/C++有网上在线编译器吗

有种东西叫做网络

‘陆’ 跪求c语言在线编程网站

不如用WINTC才不到10MB

‘柒’ 能在网上在线编译C语言,并编译呈现出来的网站是什么

http://acm.h.e.cn/

‘捌’ c语言在线编译

#include<stdio.h>//头文件补上
int max(int x,int y)//定义声明函数
{
int z;
z=(x>y)?x:y;
return(z);
}
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);//函数调用
printf("%d",c);
return 0;
}

‘玖’ 怎样用c语言编译

C编译的整个过程很复杂,大致可以分为以下四个阶段:

  1. 预处理阶段在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。

  2. 编译、优化阶段编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。

  3. 汇编阶段将汇编语言翻译成机器指令。

  4. 链接阶段链接阶段的主要工作是将有关的目标文件连接起来,即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的目标文件成为一个能够被操作系统装入执行的统一整体。

‘拾’ 请问C语言在线编译软件是怎么做的是用javasccript在本地编译还是在服务器编译完发回来呢

在服务器端吧,在线编译嘛,如果在本地就叫做辅助编译工具了

热点内容
编程CBA 发布:2024-12-22 09:10:11 浏览:288
糖豆上传视频 发布:2024-12-22 09:09:24 浏览:856
canvas压缩上传图片 发布:2024-12-22 08:53:47 浏览:189
加工中心简单图案编程 发布:2024-12-22 08:38:12 浏览:446
psp和安卓手机比哪个好 发布:2024-12-22 08:37:14 浏览:233
沙鹰行动迅雷下载ftp 发布:2024-12-22 08:30:03 浏览:384
mysql导入数据从java 发布:2024-12-22 08:20:19 浏览:73
内网通过外网ip访问内网服务器 发布:2024-12-22 08:20:08 浏览:839
安卓电视哪个系统最好 发布:2024-12-22 08:06:06 浏览:317
埃安y2022款买哪个配置 发布:2024-12-22 08:05:50 浏览:157