Time of Update: 2018-12-03
從《LINUX裝置驅動開發詳解》裡面一字一句地打出來,放在這裡,供大家分享! LINUX系統上可用的C編譯器是GNU C編譯器,它建立在自由軟體基金會的編程許可的基礎上,因此可以自由發布。GNU C對標準C進行了一系列的擴充,以增強標準C的功能。1、零長度數組GNU C允許使用零長度數組,在定義變長對象的頭結構時,這個特性特別有用。例如:struct var_data{int len;char data[0];};char
Time of Update: 2018-12-03
Vistual Sutio 2010總體感覺非常慢,比起delphi
Time of Update: 2018-12-03
c++中new的用法c++中,new的用法很靈活,這裡進行了簡單的總結: " `) X5 t# d/ s# V) V9 N w! J1. new() 分配這種類型的一個大小的記憶體空間,並以括弧中的值來初始化這個變數; . U* t, v# ~% u2. new[] 分配這種類型的n個大小的記憶體空間,並用預設建構函式來初始化這些變數; 8 A6 R I) `6 g% M l#include<iostream>. |1 U" Q6 z( y' ?/ V3 R A1
Time of Update: 2018-12-03
#include <unistd.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <linux/soundcard.h>#define
Time of Update: 2018-12-03
2、使用Soap Toolkit。目前最新Toolkit是3.0,從微軟下載http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en,安裝。然後在visual studio你的項目中,在“引用”上按右鍵,選擇“添加引用”,切換到COM頁,找到Microsoft soap type library
Time of Update: 2018-12-03
如果從dll傳出string,一般定義成PChar,由調用者分配好記憶體,並告訴大小,這樣比較麻煩。既然delphi的dll可以傳回variant(實際是array),就把字串轉成byte array直接傳回吧,如:Delphi XE代碼:function Call(AEndPointURL:PWideChar;AServiceName,AMethodName:PWideChar; const AParams:OLEVariant;out AResult:OLEVariant;out
Time of Update: 2018-12-03
// 讀取檔案的建立、修改、訪問時間FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.CreationTime.ToString());Console.WriteLine(fi.LastWriteTime.ToString());Console.WriteLine(fi.LastAccessTime.ToString());// 改變(設定)檔案的建立、修改、訪問時間File.SetCreationTime("C://
Time of Update: 2018-12-03
Delphi REST Server返回的資料是JSON格式,假設有這樣一個函數: THMI=class public Mac:string; IP:string; Port:integer; //DateTime格式,delphi的Json封裝在ASP.Net中會報錯“Date格式未按 JSON 的要求以“//Date(”開始並以“)//”結束” LoginTime:Double; Status:integer; end;
Time of Update: 2018-12-03
c#如何調用delphi寫的SOAP Web Service呢?網上看到兩種方法,1、通過在Vistual Studio,增加web
Time of Update: 2018-12-03
在網上找了一下相關的文章發現很多人都使用自寫類的方式來實現選擇檔案夾或檔案,更有使用API函數來調用,經我測試幾句話就可以實現此方法。代碼如下:private void button13_Click(object sender, System.EventArgs e) { OpenFileDialog fdlg = new OpenFileDialog(); fdlg.Title = "C# Corner Open File Dialog" ;
Time of Update: 2018-12-03
假設在delphi寫一個dll,export這樣一個函數:function Test_OLEVariant(AEndPointURL:PWideChar;AParams:OLEVariant;out AResult:OLEVariant):HResult;stdcall;begin Result:=0; try AResult:=VarArrayOf([AParams[0]+AParams[1],AParams[0]-AParams[1]]); except on
Time of Update: 2018-12-03
剛開始很不習慣c#的風格,哎,先入為主啊,delphi習慣了,{}代替begin/end太紮眼。 屬性方法的宣告和代碼在一起,沒有像delphi分interface/implementation,感覺太亂,都不知道一個class到底有幾個方法。 每個屬性和方法前面都要單獨寫private/protected/public,老天,c#是delphi之父設計的揶,怎麼不學delphi寫一個就行呢?絕對降低生產率。
Time of Update: 2018-12-03
delphi xe開發的dll有Test_ReturnPChar和Test_ReturnPAnsiChar兩個函數:procedure MoveStr2PChar(const AStr:WideString;const APChar:PWideChar;var APCharLen:integer);var oldLen:integer; sLen:integer;begin oldLen:=APCharLen; sLen:=Length(AStr); if
Time of Update: 2018-12-03
用C/C++調用Java的方法我沒有去研究,也不知道從哪裡開始研究,對Linux我瞭解到很少,希望有朋友可以給些資料,我的水平很差,望大家多多包涵。 這個例子是別人的代碼,我忘記從來裡弄來的了,先對原作者表示抱歉。同時代碼也被我修改過,再次道歉。 而此文和別的文章一樣,只是作為我平時學習積累的驗證。 1. Android.mk檔案:LOCAL_SRC_FILES參數用空格隔開 LOCAL_PATH:=$(call my-dir)include
Time of Update: 2018-12-03
c,c++為編譯型語言,又稱靜態語言。變數的類型在編譯時間就確定了,並且分配了相應的記憶體空間,一定程度上,變數就代表了這塊記憶體空間,就像人名一樣。Python為動態類型語言,變數只是一個名稱而已,不代表某個記憶體空間。C語言中,變數就相當於一個盒子,盒子的名字就是變數,無論盒子裡的內容怎麼變,盒子及其名稱一旦確定(編譯時間),就不可再更改。C++亦是如此,但是c++同時也引入了引用的概念,引用不是普通的變數,它是一個的別名,一個對某個記憶體空間的引用。由於c++是靜態語言,所以一旦對某個記憶
Time of Update: 2018-12-03
#include <boost/xpressive/xpressive.hpp>#include <boost/xpressive/regex_actions.hpp>using namespace boost::xpressive;sregex e_string = as_xpr('"') >> *((as_xpr('//') >> _) | ~(boost::xpressive::set = '//', '"')) >>
Time of Update: 2018-12-03
Item M34:如何在同一程式中混合使用C++和C許多年來,你一直擔心編製程式時一部分使用C++一部分使用C,就如同在全部用C編程的年代同時使用多個編譯器來產生程式一樣。沒辦法多編譯器編程的,除非不同的編譯器在與實現相關的特性(如int和double的位元組大小,傳參方式)上相同。但這個問題在語言的標準化中被忽略了,所以唯一的辦法就是兩個編譯器的生產商承諾它們間相容。C++和C混合編程時同樣是這個問題,所以在實體混合編程前,確保你的C++編譯器和C編譯器相容。確認相容後,還有四個要考慮的問題:
Time of Update: 2018-12-03
學習android 終究還是需要研究一下其底層架構,所以,學習c++很有必要。這篇部落格,算是linux(ubuntu) 下學習 c++ 的一個入門。剛開始學習程式設計語言的時候,最好還是使用命令列操作,拋開IDE 工具。1. 編輯器編輯器推薦 vi / vim(如果你有耐心的話,可以學習一下 vi 的命令)、scite(比較好用)等。2. 編譯器針對不同的編譯器,c++ 源檔案的尾碼名稱還不一樣。關於編譯器 gcc 也好,g++ 也好,CC 也罷。。。剛開始不要計較太多,容易迷惑自己。注意:
Time of Update: 2018-12-03
注意:可變參數函數只有在參數是ansi的情況下才有用,即使參數是引用也不行。 深入淺出可變參數函數的提示本文主要介紹可變參數的函數使用,然後分析它的原理,程式員自己如何對它們實現和封裝,最後是可能會出現的問題和避免措施。VA函數(variable argument
Time of Update: 2018-12-03
不錯的文章,原帖:viml.nchc.org.tw/blog/paper_info.php?CLASS_ID=1&SUB_ID=1&PAPER_ID=194這篇是之前預告過的 Boost C++ Libraries 系列文章的第一篇。所介紹的,是在 Boost 裡用來格式化輸出的函式庫:boost::format。他最大的特色是在於它可以使用 C 語言中 printf 的格式化字串,來針對 C++ 的 iostream 做輸出、或是產生格式化的字串;相較於 C++