c語言怎麼在線編譯,C語言在線編譯

本文目錄一覽:

能在網上在線編譯C語言,並編譯呈現出來的網站是什麼?

Ideone

Ideone()是一個在線多語言編程執行器工具,可以在線直接做編譯和執行動作,支持包括C++,Java,JavaScript,Perl,PHP,Python和Ruby在內的40多種編程語言.Ideone是一個簡易的編程測試工具,雖然不能替代專業版的工具,但是其功能非常全面.,該頁面上有不少廣告,看的有點不爽.

望採納~

有問題歡迎繼續追問

C語言怎麼編譯呀?

在本機上搭建IDE開發環境,在IDE中導入編譯器,就可以本地編譯了。

把代碼在本地寫好,編譯過之後,運行樣例沒問題後,再上傳的網站上,網站上是有編譯器的,你選擇之後會自動編譯。

如何用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語言在線編譯

問題很多

第一:函數申明問題,max(x,y);應該放在main() 上面,不然會報 沒定義max()錯誤

第二:函數返回值問題.max()是一個有返回值的函數,在max()前面應該加 返回值類型的條件

第三:文件包含問題.printf 用到了 stdio.h

還有些小細節問題…就不說

具體修改如下:

#include stdio.h

int max(int x,int y)

{

int z;

z=(xy)?x:y;

return z;

}

void main(void)

{

int a,b,c;

scanf(“%d%d”,a,b);

c=max(a,b);

printf(“max=%d\n”,c);

}

C語言如何編譯

先創建一個工程,選擇win32的吧,然後一直下一步直到完成

然後在左邊找到你創建的一個和你工程名字一樣的文件打開,如果沒錯的話裡面應該是一個main函數示例,把它刪,把你的代碼粘貼到這個文件,按F5會提示編譯,確定後開始編譯,如果編譯沒問題會在編譯完成後運行(調試態)

娟豬下班了沒有

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230389.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:16
下一篇 2024-12-10 18:16

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論