Time of Update: 2018-12-04
二、WAM之下幾十年來勢在必行,功能或邏輯語言的編譯器分解在幾個步驟。特別是使用一個抽象機作為高層次的原始碼和低層次可執行目標代碼之間的中介層。事實上,自從Pascal和P-代碼,抽象機一直強調作為編譯過程中的骨幹。邏輯語言這裡也不例外,將Prolog編譯成WAM指令是事實上的標準和眾所周知的過程。然而,WAM代碼不能在直接在主流電腦執行,因此,需要一些治療,以做出的可執行檔。存在經典的兩種方法來執行WAM代碼:WAM公司的模擬器或翻譯器將其轉為機器碼。類比的WAM代碼通常想到第一個解決方案。這
Time of Update: 2018-12-04
cri-dist.univ-paris1.fr/diaz/publications/WAMCC/iclp95.pdf 摘要:我們呈現的wamcc系統,是一個通過WAM的,轉換Prolog到C的Prolog編譯器。這種方法有一些有趣的的後果:簡單,高效,可移植性,可擴充性和模組化。事實上,該系統不納入複雜的最佳化,但效率和Quintus Prolog2.5(基於組合語言編寫的一個模擬器)類似,只比Sicstus
Time of Update: 2018-12-04
【第一步】Welcome to Dev-C++ install program. Please do not install this version of Dev-C++ over an existing installation.[確定]歡迎來開發Dev-C++安裝程式。請不要以此版本的Dev-C++覆蓋現有的安裝。[確定]======================================================================【第二步】Please
Time of Update: 2018-12-04
http://www.sql163.com/a/2009/0224/291850224.html 程式很短,不過效果還可以。 #include<stdio.h> #include<graphics.h> #include<dos.h> #include<conio.h> #define TIMER 0x1c #ifdef __cplusplus #define __CPPARGS ... #else #define __CPPARGS
Time of Update: 2018-12-04
http://www.hack86.com/read.php?tid-20788.html #include "graphics.h" #include "stdlib.h" #include "stdio.h" #include "fcntl.h" #include "dos.h" union REGS r; struct MOUSE{ int getit; int x1; int y1; int x2; int y2; }ms; void
Time of Update: 2018-12-04
http://funds.bbs.hexun.com/viewarticle.aspx?aid=35686444&bid=7 在網上搜到大智慧資料結構如下大智慧資料檔案和資料結構:(假設大智慧股票行情軟體安裝在D:/gp/dzh目錄下)上海日線儲存路徑為:D:/gp/dzh/DATA/SHase/Day,副檔名為:.day上海周線儲存路徑為:D:/gp/dzh/DATA/SHase/week,副檔名為:
Time of Update: 2018-12-04
三、現有的邏輯編程譯者我們將在本節詳細介紹Janus,KL1,Erlang和wamcc如何處理控制流程。此簡報的靈感來自[5],它採用了堆疊模型的目標。但是,我們不遵循類似於實際執行的抽象。這種選擇的後果,明確描述了C代碼與WAM指令的相關性。由於篇幅所限,我們只在這裡討論控制問題。首先是出於這樣的事實,wamcc使用的WAM是傳統而沒有最佳化的。從而現在為其他指令寫的代碼變得眾所周知了[1]。第二,有效控制的關鍵在於翻譯成C,因為WAM代碼是平的並且通過分支來執行轉換。這是更適合高層次的控制結
Time of Update: 2018-12-04
7.結束語我們已經提出的wamcc的設計方案和實施,一個基於把Prolog編譯成C的完整的Prolog系統。我們表明,這種替代是可行的並具有很多優點。以這種方式獲得的系統很簡單,可擴充,便攜(wamcc工作在32位Sparcs和64位Alphas機器)。這個系統比所有其他學術Prolog快,比商業系統合理,例如:其效能相當於Quintus
Time of Update: 2018-12-04
http://clip.dia.fi.upm.es/papers/morales03:p-to-c-ciclops.pdf提高Prolog到C的編譯——使用類型和確定性詳細資料:初步結果J. Moralesy *jfran@clip.dia.fi.upm.esM. Carroy *mcarro@fi.upm.esM. Hermenegildoy *
Time of Update: 2018-12-04
http://hi.baidu.com/atry/blog/item/c4bc96ef7a1ac7e8cf1b3ef4.html 領特定領域語言(DSL,Domain-Specific Language )是近年來的熱門話題。關於DSL,有一個趨勢就是在通用語言中整合DSL。很多年以前,我們如果要在通用語言中使用DSL,通常需要用字串,比如作資料庫訪問,就要拼接一串SQL語句。缺點有很多:a) 不自然,特殊字元需要轉義;b) 容易留下SQL注入的漏洞;c)
Time of Update: 2018-12-04
http://zhidao.baidu.com/question/164682552.html 用Opengl做一個小球在正方形空間內移動,碰到牆壁就反彈的動畫,急用。百度一下的不要來,謝謝。 最佳答案 // Bounce.c// Demonstrates a simple animated rectangle program with GLUT// OpenGL SuperBible, 2nd Edition// Richard S. Wright
Time of Update: 2018-12-04
5. 記憶體管理我們只是在這裡回顧WAM記憶體管理,使用三部分組成棧:Local
Time of Update: 2018-12-04
http://zhidao.baidu.com/question/16574235 C語言究竟可不可以使用OpenGL編程?網上多的是VC++的,delphi的等等可我就是不想學VC++,用C語言又不知道怎麼初始化設定,好痛苦的。比方說VC++中,是這樣設定的:1.將glut.dll和glut32.dll拷貝到windows/system32目錄下。2.將glut.h拷貝到Integration Environment安裝目錄的include/gl子目錄下(如果不存在gl子目錄,則建立它)。3
Time of Update: 2018-12-04
6. 績效評估現在讓我們細化wamcc系統的系統並比較其他Prolog系統,無論是學術或商業。6.1 基準程式表1給出傳統基準wamcc的表現。時序以秒為單位的Sparc2(2.85MIPS)使用gcc2.5.8的-O2選項。對於每一個程式,可以發現:Prolog的來源程式的行數,總得編譯時間(Prolog到C,gcc,連接器),對象代碼的大小和最終的可執行檔(位元組)和時間。表格1:wamcc的表現6.2 wamcc與學術的Prolog系統讓我們在第一時間同一類別,把wamcc與其他系統比較:
Time of Update: 2018-12-04
4.
Time of Update: 2018-12-04
最近學習deitel父子的C++教程。自己打了下代碼,附上注意點。/*GradeBook1.h:aim:函數原型定義類的介面;coder:cqlf.xu;time:2011-11-14*///描述類的公用介面而沒有暴露類的成員函數的實現//保證程式員不寫出依賴於類的實現細節的客戶代碼#include <string>using std::string;class GradeBook{public:GradeBook (string name);//建構函式(constructor)
Time of Update: 2018-12-04
111C - Petya and
Time of Update: 2018-12-04
題意:找出給定區間內首數字為1的數字。做法:基本數位DP,可是出現了一堆小錯誤 。。。#include<cstdio>#include<cstring>#define LL long longconst int LMT=1002;LL have[LMT],tem[LMT],num[20],left[LMT],right[LMT];/***********一開始把統計區間內符合的數字給搞錯了****/double dp[LMT];void init(void){
Time of Update: 2018-12-04
今天見論壇裡有問怎麼樣實現線程池。碰巧原來寫過一個類似的。現在來說說。(下面的全是個人理解,不見得是正確的。)1。先來說說線程池。為什麼要使用線程池?因為建立線程和釋放線程是要消耗系統資源的,如果要完成一個工作要不停的建立和釋放線程必然會造成很大的系統資源的浪費,所以用線程池。線上程本次工作完成後,不釋放線程,讓線程等待。再有需要讓線程去完成的工作時就把原來建立的線程取過來繼續使用。這樣節省了重複的建立釋放線程的過程。2。如何?功能。根據上面的理解我們來實現這些工作。A.我們先要建立一個容器來裝
Time of Update: 2018-12-04
c++中的int 到 string的轉化1. int sprintf( char *buffer, const char *format [, argument] ... ); <stdio.h>例如: int ss; char temp[64]; string str; ss = 1000; sprintf(temp, "%d", ss); string s(temp);