Time of Update: 2018-12-04
用set拷貝先看最簡單的set, 它可以對一個或者多個symbol設定值。> (set 'm "h")"h"注意,上面的語句是將"h"複製一份賦給m symbol. 這是拷貝,不是引用。現在通過下面的測試證明:> (set 'm "h")"h"> (set 'n m)"h"> (set 'm "a")"a"> n"h"> m"a"當m的值複製給了n後,修改m,不會改變n的值。set
Time of Update: 2018-12-04
/*下面這個例子示範了指標是對應著地址,當改變地址的內容的時候,該指標的內容也改變*/#include <Winsock2.h>#include <stdio.h>#include <stdio.h>#include <sys/timeb.h>#include <time.h>int evutil_gettimeofday(struct timeval *tv, struct timezone *tz){struct _timeb
Time of Update: 2018-12-04
/*#filename: test1.c這個例子示範了當對一個全域指標分配空間的時候,如果不顯示調用free,也不會出現記憶體泄露,因為系統會自動回收。通過valgrind測試。*/#include <stdlib.h>#include <signal.h>#include <stdio.h>#include <stdbool.h> //use boolstatic int bIsExit = 0;int * x = NULL;
Time of Update: 2018-12-04
最近寫了一個newlisp_armory庫,用來實現一些newlisp自身不支援的操作。比如跨windows和ubuntu的目錄拷貝功能等。自己用的時候,發現沒有API
Time of Update: 2018-12-04
功能這兩個函數其實是一個,只是邏輯上用在不同的場合。setq用於給symbol的reference設定,而setf用於設定list 或者 array的reference.setq的使用setq比較簡單,避免了在使用set的時候用‘來阻止運算式求值。> (setq x "hello")"hello"> x"hello"setf的使用> (setq L '(a b (c d) e f g))(a b (c d) e f g)> L(a b (c d) e f g)> (
Time of Update: 2018-12-04
安裝icescrum需要首先安裝tomcat7還有jdk,直接在ubuntu下面安裝apt-get install tomcat7然後需要配置一下tomcat裡面的環境變數,指定icescrum的設定檔路徑,在檔案/usr/share/tomcat7/bin/catalina.sh中開頭添加一個設定:JAVA_OPTS="-Djava.awt.headless=true -XX:MaxPermSize=1024m -Xmx1024m
Time of Update: 2018-12-04
這幾天在思考這個問題,不知不覺走進了死胡同, 其實這個功能早就實現過,以前的實現是通過匯出一個c函數,在該匯出的c函數中彈出對話方塊,這樣的話很容易就實現了,但是現在我總是想直接匯出這個對話方塊衍生類別,其實沒必要這麼作,並且如果這樣也好像作不了,因此對話方塊的標頭檔中定義了資源檔ID,而這些資源ID都在Resource.h,如果只匯出CDialog的衍生類別,那麼會提示資源IDD找不到。
Time of Update: 2018-12-04
dotimes迴圈類似於其他語言的for迴圈,迭代從0到n-1.下面是官方文檔。dotimessyntax: (dotimes (sym-var int-count [exp-break]) body)The expressions in body are evaluated int times. The variable in sym is set from 0 (zero) to (int - 1) each time before evaluating the body
Time of Update: 2018-12-04
1602採用標準的16腳介面,其中:第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對比調整端,接正電源時對比最弱,接地電源時對比最高,對比過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比第4腳:RS為寄存器選擇,高電平時選擇資料寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫訊號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙訊號,當RS為高電平RW為低電平時可以寫入資料
Time of Update: 2018-12-04
newlisp沒有提供讀取socket資料逾時返回的功能。自己實現了一個:;; socket.lsp(context 'socket);; return the number of bytes which are ready to read;; throw error if connection is closed(define (net-peek-ex s) (unless (net-peek s) (throw-error "connection is closed")));;
Time of Update: 2018-12-04
轉自: http://blog.csdn.net/strikebone/archive/2007/11/02/1863523.aspx 這兒是個關於宏的問題,我曾用過ATL的串轉換宏,包括W2A,開始有些東西我還不太明白。為了使用這些宏,必須在函數的開始處用USES_CONVERSION來初始化某些局部變數。用就用吧,但是看看這個宏的定義,它有類似下面的代碼: // 在atlconv.h檔案中#define USES_CONVERSION /int _convert;
Time of Update: 2018-12-04
#include <pthread.h>#include <stdio.h>#include <unistd.h>/*FileName: testpthreadstack.cg++ -o testpthreadstack testpthreadstack.c -lpthread*/#include <stdlib.h>#include <string>#include <limits.h> //
Time of Update: 2018-12-04
1. 通過CreateProcess啟動進程時,如何傳遞參數? http://blog.csdn.net/hityct1/archive/2009/03/08/3968296.aspx 使用編譯器vs2008。第一、第二個參數的用法:例子:使用ie開啟指定的網頁。注意第二個參數是 可執行檔+命令列參數view plaincopy to clipboardprint?#include "stdafx.h" #include <windows.h>
Time of Update: 2018-12-04
如果編譯出現如下問題: c:/program files/microsoft visual studio/vc98/atl/include/atliface.h(2020) : error C2065: 'GUID_NULL' : undeclared identifierc:/program files/microsoft visual studio/vc98/atl/include/atliface.h(2020) : error C2440: 'default argument' :
Time of Update: 2018-12-04
第一次在blog上粘代碼時覺得很鬱悶,縮排變得很短,關鍵字也沒有顏色變化(當然這麼簡單的用複製粘貼也只能是這種效果)後來自己用c#做了個小程式,用來在代碼裡貼上html標籤。折騰裡一個晚上,費了不少勁。第二天在自習室裡泡了一整天,終於看到了Lex的使用,這時才恍然大悟,原來昨晚做的就是詞法分析,那幹嗎不用現成的工具作呢?選擇工具Unix下的Lex是詞法分析產生器的祖師,這個軟體我們應該是很難見到,不過他的後繼們使用起來都差不多。比較容易找到是Linux下的flex,如果想在Windows下使用
Time of Update: 2018-12-04
剛裝好的redmine會時不時crash,所以寫了一個指令碼去監控之,如果檢查結果不是三行,那麼說明進程crash,那就啟動它。#!/usr/bin/newlisp(set 'r (exec "ps -def | grep 'dispatch'"))(set 'l (length r))(if (= 3 l) (begin (append-file "/opt/ok.log" (append (string (now 480)) ": redmine works fine\n"))
Time of Update: 2018-12-04
問題說明:前幾日我們開發小組更換了一台新的 TFS 服務器,舊的 TFS 服務器停止使用。但從用戶端 VS2005 串連到新的伺服器,並下載源碼到本地原來工作的檔案夾時,出現錯誤提示,說本地檔案夾已被映射到了舊的伺服器上,不能從新伺服器擷取源碼。通過原始程式碼控制-工作區管理,把跟舊伺服器相關的所有工作區項都刪掉後,仍出現此提示。 解決辦法:在檔案 C:/Documents and Settings/目前使用者/Local Settings/Application
Time of Update: 2018-12-04
請參看codeproject上的文章:http://www.codeproject.com/KB/COM/ActiveXMfcState.aspx Building the MFC client Our MFC client, is a plain old Appwizard generated Dialog-based application with additional Automation support. As usual, open VC++ 6.0 and create
Time of Update: 2018-12-04
InvalidateRect只是增加重繪地區,在下次WM_PAINT的時候才生效InvalidateRect函數中的參數TRUE表示系統會在你畫之前用背景色將所選地區覆蓋一次,預設背景色為白色,可以通過設定BRUSH來改變背景色。Invalidate()之後:(MFC的,順便了)OnPaint()->OnPrepareDC()->OnDraw()所以只是重新整理在OnPaint()和OnDraw()函數中的繪圖語句。其它地方沒有影響。Invalidate標記一個需要重繪的無效地區,並
Time of Update: 2018-12-04
在編譯<Com技術內幕>>的最後一個例子程式時碰到的問題:編譯:Canvas1: midl : command line error MIDL1001 : cannot open input file canvas_i.idl 通過菜單: Tool->Options->Directories 把TANGRAM目錄中的IDL檔案夾加入到:Include files.2: fatal error C1083: Cannot open include file: