『壹』 能實現輸入函數的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語言的標准規范和具體編譯器的實現問題。
從標准規范來看:
#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都可以使用,也有現成的。