當前位置:首頁 » 編程語言 » 如何移植c語言到網頁
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何移植c語言到網頁

發布時間: 2022-11-20 03:30:39

c語言程序中怎麼去跳轉到某個網頁啊

不知道你是哪個平台的cgi,如果有http redirect方法,直接用cgi調用該方法
或者直接用html meta refresh,由cgi產生頁面,頁麵包含如下meta
<meta http-equiv="refresh" content="0; url=abc.com/" />

Ⅱ 想用C語言編寫一個網頁

C語言不適合用於寫網頁,雖然可以用C語言寫CGI程序,但是這種方法現在已經被PHP/ASP/JSP等動態頁面技術取代,所以並不常用。如果對C語言CGI程序感興趣,可以閱讀以下頁面:

http://blog.csdn.net/daguigto/archive/2009/08/29/4497736.aspx

Ⅲ linux平台的C語言程序移植到windows

如果沒有用到與平台有關的頭文件和庫,可直接拿代碼到windows上進行編譯。否則要將linux平台特有的頭文件和庫替換成windows平台相同或相似的庫。

Ⅳ 如何把一個c語言程序鑲嵌在一個網頁中

這是無法實現的,C是編譯語言,必須翻譯成機器碼才能執行,網頁用的HTML,是由瀏覽器解釋執行的

Ⅳ 現在用c#做網頁後端的工作真的很少嗎為什麼我老師又叫我要用c#來做

c:面向過程,語法太麻煩
c#:面向對象(跟java很像如果你對java了解估計你就會明白c&c#之間的區別了),是ms .net framework的主力之一,它的代碼運行是安全的,裡面沒有指針,像java一樣有垃圾回收機制。

語法基本沒有區別,個人感覺首先c#不必對指針進行太多的研究,然後可遺址性等,其它的區別相當大。可以說不是一個方向的。

開發環境跟開發語言也是兩個不同的概念

學習c#並不必須有c語言的基礎,不過,如果你學過c語言,那會事半功倍的,因為他們之間有很多語法是一樣的。作為初學者,並沒有必要先去學習c語言,你只需要有c#的完整的教程就行了。

舉個簡單的例子,你想學開高檔的轎車並不需要先去學習開低檔的麵包車。但如果你已經會開麵包車的話,那麼學開轎車就一定會容易一些了,因為他們有很多相同的地方。

C語言:

C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為系統描述語言,即可用來編寫系統軟體,也可用來編寫應用軟體。

早期的操作系統等系統軟體主要是用匯編語言編寫的(包括 UNIX操作系統在內)。由於匯編語言依賴於計算機硬體,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬體進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種情況下應運而生了。

C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL 60。 1960年出現的ALGOL 60是一種面向問題的高級語言,它離硬體比較遠,不宜用來編寫系統程序。1963年英國的劍橋大學推出了CPL(CombinedProgram- ming Language)語言。CPL語言在ALGOL 60的基礎上接近了硬體一些,但規模比較大,難以實現。1967年英國劍橋大學的Matin Richards對 CPL語言作了簡化,推出了BCPL(Basic Combined Programming Language)語言。1970年美國貝爾實驗室的 Ken Thompson以 BCPL語言為基礎,又作了進一步簡化,設計出了很簡單的而且很接近硬體的 B語言( 取 BCPL的第一個字母),並用 B語言寫第一個UNIX操作系統,在PDP-7上實現。 1971年在PDP-11/20上實現了B語言,並寫了UNIX操作系統。但B語言過於簡單,功能有限。1972年至 1973年間,貝爾實驗室的 D.M.Ritchie在B語言的基礎上設計出了C語言(取 BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練、接近硬體),又克服了它們的缺點(過於簡單、數據無類型等)。 最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。1973年,K.Thom- pson和D.M.ritchie兩人合作把UNIX的90%以上用 C改寫(UNIX第5版。原來的 UNIX操作系統是1969年由美國的貝爾實驗室的 K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的)。

後來,C語言多次作了改進,但主要還是在貝爾實驗室內部使用。直到1- 975年UNIX第6版公布後 ,C語言的突出優點才引起人們普遍注意。1977年出現了不依賴於具體機器的C語言編譯文本《可移植C語言編譯程序》,使C移植到其它機器時所做的工作大大簡化了,這也推動了UNIX操作系統迅速地在各種機器上實現。例如,VAX,AT&T等計算機系統都相繼開發了UNIX。隨著 UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發展過程中相輔相成。1978年以後,C語言已先後移植到大、中、小、微型機上,已獨立於UNIX和PDP了。現在C語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。

以1978年發表的UNIX第7版中的C編譯程序為基礎,Brian W.Kernighan和 Dennis M.Ritchie(合稱K&R)合著了影響深遠了名著《The C Programming Lan- guage》,這本書中介紹的C語言成為後來廣泛使用的C語言版本的基礎,它被稱為標准C。1983年,美國國家標准化協會(ANSI)根據C語言問世以來各種版本對C的發展和擴充 ,制定了新的標准,稱為ANSI C。ANSI C比原來的標准C有了很大的發展。K&R在1988年修改了他們的經典著作《The C Progra- mming Language》 ,按照ANSI C的標准重新寫了該書。1987年,ANSI C又公布了新標准--87 ANSI C 。目前流行的C編譯系統都是以它為基礎的。

C#:
C#是Microsoft公司設計的一種編程語言。它鬆散地基於C/C++,並且有很多方面和Java類似。Microsoft是這樣描述C#的:「C#是從C和C++派生來的一種簡單、現代、面向對象和類型安全的編程語言。C#(讀做『Csharp』)主要是從C/C++編程語言家族移植過來的,C和C++的程序員會馬上熟悉它。C#試圖結合Visual Basic的快速開發能力和C++的強大靈活的能力。」

附:

一個簡單的C#程序是怎樣的?
可以是這樣:
class CApplication {
public static void Main() {
System.Console.Write( 「Hello, new .NET world!」 ); }}
(你不能將Main()作為全局函數——C#沒有全局函數)

C#是面向對象的嗎?
是的,C#像Java和C++一樣,是一個面向對象的語言。

C#有自己的類庫嗎?
不,就像所有的.NET語言(VB.Net,JScript
.Net...)一樣,C#訪問.NET類庫,C#沒有自己的類庫。

C#提供什麼標准類型?
C# 支持的基本類型和C++很相似,包括int, long, float, double, char, string, arrays, structs 和 classes。然而,不要假設太多,名字可能很形似,但是一些細節不相同。例如C#中的long是64位的,而C++的long取決於平台,32位的平台上是32位的,64位的平台上是64位的。class和struct在C++中幾乎完全一樣,但在C#中並不是這樣的。

Ⅵ C語言 編程序鏈接網頁

#include <stdio.h>
#include <string.h>

int main(void)
{
int i;
char buff[255];
printf("請輸入關鍵詞\n");
scanf("%d",&i);
/*C里如果要實現你要做很多工作,所有使用系統介面可能會好點,因為我電腦不是使用window沒辦法給你測試,linux shell命令跟window下不相同,我覺的基本上可以吧*/
sprintf(buff,"start http:\\www..com/s?wd=%d",i);
system(buff);
system("pause");
}

Ⅶ 在linux下用GTK+C語言編寫的界面可不可以移植到windows怎樣移植有哪些困難有沒有交

安裝gtk+ runtime for windows 基本就OK了(可以運行了)
因為gtk+ 跨平台 有windows版 程序基本一般不需要怎麼改動的
想在windows上開發gtk+程序 安裝gtk+ development for win32

上圖就是 gtk+ development for win32 我在windows上寫的一個例子程序

Ⅷ 我用dw和access做網站。如何在做的網頁上內嵌c語言編譯環境就是能在網頁上運行簡單的c程序,查錯

思路是伺服器上安裝C語言編譯環境,網頁上的代碼提交到伺服器以後由伺服器上運行的某後台進程式控制制編譯器去編譯,完了以後返回信息。

代碼的提交和信息的返回可以通過access完成。簡單的就是代碼的提交直接post到某個後台腳本,然後用ajax去輪詢結果或者(類似)推送結果。
後台進程可以輪詢資料庫,也可以監聽一個埠來接受伺服器端腳本發送的請求,或者其他什麼進程間通訊手段。

完全內嵌在網頁上(前段)暫時還是不要想了。用javascript實現一個c語言編譯環境?會死人……成本太高了而且效率也不理想吧

Ⅸ 怎麼通過C語言讀取網頁裡面的數據

簡單的請求格式

GET /index.php HTTP/1.0
host:www.zixue7.com

當我們和伺服器連接上之後,發送上面的數據過去,伺服器就會返回 index.php 這個頁面給我們。

GET 這個 是表示 以什麼方式請求,HTTP中還有很多其他的請求方式,常用的就 GET POST (更詳細的 可以點開上面 http協議 那個鏈接)

GET 後面緊跟一個空格 然後 給出,要獲取的資源的名稱, /index.php 就表示獲取網站伺服器根目錄下 index.php 執行後所產生的內容,我們也可以改成 GET / HTTP/1.0 這就表示獲取默認首頁的內容 。 GET /1.html HTTP/1.0 就是獲取 伺服器根目錄下 1.html的內容,很容易理解吧。

接下來隔一個空格 跟上 HTTP/1.0 表示 http協議的版本,這個是固定的 。

第二行 host:www.zixue7.com 用來指定 訪問哪個主機。 大家都知道,一個伺服器可以放很多個網站,每個網站有不同的域名,所以我們需要用這個host來指定 我們要訪問的是哪個網站,這樣 才能正確得訪問到我們想訪問的網站。

第一步,連接伺服器。
第二步,按照http協議,發送請求數據,然後就是接受返回的內容。

沒錯,就這么簡單。

在編寫程序之前,我們先用一個小工具來模擬一下這個過程,好讓我們對http協議了解更深入一些。

telnet工具 如果是 win7下的朋友 猛戳這里-->win7開啟telnet功能

到此為止,我假設大家電腦上已經開啟了 telnet功能,正題開始。

telnet 他是一個基於tcp/ip 協議的程序,為我們用戶提供一個 與其他電腦通信的工具,我們可以使用他來和其他電腦進行連接通信。

開始->運行->輸入telnet回車, 出現一個黑框如下。

我們這時就可以輸入命令,來連接遠程主機,比如我們這次是要連接我們自學去論壇 的伺服器,
那麼我們就輸入 open www.zixue7.com 80 然後回車。

open 是打開的意思 後面跟上 要打開那個主機 然後 後面跟上埠, web伺服器默認使用的是80埠,所以 要加上80埠(不加埠 telnet默認是23埠)。

然後會出現下圖的情況,這時候 我們就可以輸入命令了,輸入的命令都將被發送到自學去論壇的伺服器上面。大家注意一下 下圖紅色箭頭所指出的部分,那裡就是一個輸入游標,不用管其他的字。

這就代表 我們已經和遠程主機連接上了,就相當於我們上節課中 客戶端執行到 connect 函數 之後 就是要調用 send函數發送數據了,在這里 我們只需要按鍵盤輸入到黑色窗口中 就會發送到服務端。

我們依次輸入以下內容,(注意,不能按退格,輸入錯誤了,就重新打開telnet,重新操作。)

Ⅹ C語言編譯器移植問題

樓主既要使用C語言編譯器,又想使用C++編譯器的話,編碼風格要使用標准C語言的風格,這樣C++同時可以兼容。


VC6編譯報錯可能是如下原因:

1、局部變數的定義和初始化必須在函數的最開始,不能放在函數的中間部分

2、scanf_s函數的使用,scanf_s並不是標準的庫函數,有些編譯器並沒有該函數,推薦使用scanf函數,雖然不太安全


VS2013運行錯誤可能是如下原因:

1、很多帶「_s」後綴的函數是為了讓原版函數更安全,傳入一個和參數有關的大小值,避免引用到不存在的元素,有時hacker可以利用原版的不安全性黑掉系統。比如:char d[20];寫成scanf_s("%s",d,20);才是正確的,有這個參數20使准確性提高。既然使用了scanf_s函數,就不能單純的寫scanf_s(" %s [%d][%d]", s, &m, &n);,就需要對%s制定可以輸入的最大字元才行


intm,n;//局部變數放在函數的最開始
chars[6];
intsize=4;
void*p;
int*q;
inti,j;

printf("請定義一個二維數組,格式如下:int[3][4] ");
printf("數組類型只限於int,char,float,int*,char* ");
printf("請只在聲明數據類型和數據之間輸入空格! ");
printf("本程序容錯性很差,請按照要求謹慎操作! ");

scanf_s("%s[%d][%d]",s,5,&m,&n);//s,5,指明s最多接收5個字元

p=malloc(size*m*n);
q=(int*)p;
memset(p,1,size*m*n);