當前位置:首頁 » 編程軟體 » 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

熱點內容
單片機android 發布:2024-09-20 09:07:24 瀏覽:765
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:664
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:311
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:289
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:817
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:162
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:94
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:507
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:658
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:481