Time of Update: 2018-12-04
1.引言 Linux作業系統在伺服器領域的應用和普及已經有較長的曆史,這源於它的開源特點以及其超越Windows的安全性和穩定性。而近年來,Linux作業系統在嵌入式系統領域的延伸也可謂是如日中天,許多版本的嵌入式Linux系統被開發出來,如ucLinux、RTLinux、ARM-Linux等等。在嵌入式作業系統方面,Linux的地位是不容懷疑的,它開源、它包含TCP/IP協議棧、它易整合GUI。 鑒於Linux作業系統在伺服器和嵌入式系統領域愈來愈廣泛的應用,社會上越來越需要基於Linu
Time of Update: 2018-12-04
編譯器警告(等級 1)CS1690 錯誤訊息 由於“member”是引用封送類的欄位,訪問上面的成員可能導致運行時異常 當您嘗試對從 MarshalByRefObject 派生的類成員調用方法、屬性或索引器時,並且該成員是實值型別時,會出現此警告。若要解決此警告,請將該成員複製到局部變數並對此變數調用方法。下面的樣本產生 CS1690: // CS1690.csusing System;class WarningCS1690: MarshalByRefObject{ int i = 5;
Time of Update: 2018-12-04
前言以前在Code Complete 2nd(代碼大全2)這本書上看過說在像是C#這種類型語言中能不要用delegate就盡量不要用,多使用interface取代,以避免效能上的影響實踐出真理,所以我就寫了個小範例來測試我的硬體是2.66G 4核心CPU,記憶體4G我不知道是不是電腦比較快,以及我寫的函數太小的關係次數到了10000000次才看到有影響到了100000000次後看起來也是還好總而分析,還是會有影響需要高效運算或是在嵌入式中,應該還是要多注意一點代碼using
Time of Update: 2018-12-04
為了測試程式,需要產生一些隨機數,在網上找到一個很多人用的Demo,發現如果連續產生很多隨機數的話,大部分是重複的,因為是根據系統時間來做種子的,我把程式做了一點小的修改,可以產生真正的隨機數,經測試,很少出現重複。#include <stdio.h>#include <time.h>#include <sys/stat.h>#define MAX 100int my_rand(int
Time of Update: 2018-12-04
這個文章不錯,所以轉一下!共冕!一直就搞不清出這個問題,今天上網想起來,隨即搜了搜,找到了一些資料。不知源作者是誰。姑且“拿來主義”一下,呵呵。一、預備知識—程式的記憶體配置一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。2、堆區(heap) — 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收
Time of Update: 2018-12-04
1 引言線程(thread)技術早在60年代就被提出,但真正應用多線程到作業系統中去,是在 80年代中期,solaris是這方面的佼佼者。傳統的Unix也支援線程的概念,但是在一個進程(process)中只允許有一個線程,這樣多線程就意
Time of Update: 2018-12-04
如果你用的是LINUX/UNIX/MacOSX,那麼我們已經可以開始了,如果你用的是WINDOWS,那麼你需要從網站上下載PTHREAD的WINDOWS開發包,所幸他非常的小。網站地址是http://sourceware.org/pthreads-win32/先來看一個基本的例子: 程式碼#include <pthread.h>#include <iostream>using namespace std;void* tprocess1(void* args){
Time of Update: 2018-12-04
轉自:http://msdn.microsoft.com/zh-cn/magazine/cc817398.aspx並發危險解決多線程代碼中的 11 個常見的問題Joe Duffy本文將介紹以下內容:基本並發概念 並發問題和抑制措施 實現安全性的模式 橫切概念 本文使用了以下技術: 多線程、.NET Framework
Time of Update: 2018-12-04
看這樣一段代碼。 view plain#include <iostream> using namespace std; class A{ public: virtual void f(){cout<<"A"<<endl;} }; class B:public A { private: void f(){cout<<"B"<<endl;} }; int main() { A*
Time of Update: 2018-12-04
C字串與NSString之間的轉換代碼: const char *cString = "這是一個C字串, c string"; NSString *nsstring = @"這是個NSString字串, nsstring"; NSLog(@"cString字串-->%s ",cString); NSLog(@"NSString字串-->%@",nsstring); const char *cString2 = [nsstring
Time of Update: 2018-12-04
1.在當前檔案中引入命名空間這是我們最熟悉的用法,例如:using namespace std;2.在子類中使用 using 聲明引入基類成員名稱(參見C++ primer)在private或者protected繼承時,基類成員的存取層級在衍生類別中更受限:class Base {public:std::size_t size() const { return n; }protected:std::size_t n;};class Derived : private Base { . . . }
Time of Update: 2018-12-04
Turbo C Version 2.0 Copyright (c) 1987, 1988 Borland InternationalSyntax is: TCC [ options ] file[s] * = default; -x- = turn switch x off -1 80186/286 Instructions -A Disable non-ANSI extensions -B Compile via
Time of Update: 2018-12-04
在C++中,通過提供建構函式、解構函式來對處理資源的擷取、釋放。 通過C++的這種機制,我們可以很方便地處理C++中的加鎖同步機制。把鎖對象作為Guard對象的一個成員(m_lock),然後在Guard對象的構造中對m_lock進行加鎖:m_lock.acquire(),在Guard對象的解構函式中進行解鎖:m_lock.release()。先給出代碼執行個體如下:template <class T>class Guard{public : Guard(const T
Time of Update: 2018-12-04
C#中結構都有一個預設的不帶參數的建構函式, 用於對結構的欄位進行初始化,並且結構的預設建構函式不能被重寫。 C#結構體建構函式之中定義的數組還可以通過建構函式傳參數進行初始化操作! 1和2的作用相同,但是用2的方式定義的話需要選中 “項目屬性/產生/允許不安全的程式碼"。 以下是來自MSDN 結構與類共用大多數相同的文法,但結構比類受到的限制更多 在結構聲明中,除非欄位被聲明為 const 或
Time of Update: 2018-12-04
研究了一下,總算勉強能夠融會貫通了c寫成OOP還蠻有樂趣的編譯環境:Xcode3.2.3+gcc4.2 /* * Cloud.h * CloudOOC * * Created by Cloud on 2010/8/21. * Copyright 2010 Orz. All rights reserved. * */#ifndef OBJECT_H#define OBJECT_Htypedef void (*Execute)(struct Object *a_This);typedef
Time of Update: 2018-12-04
查詢列表機狀態,我利用這個查詢自己機子上HP列表機的狀態string printerName = "HP";string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}%'", printerName);ManagementObjectSearcher searcher = new
Time of Update: 2018-12-04
簡介過去的邊程經驗裡,C#提供的屬性是個很好用的方式但是C++並不支援屬性的宣告,這篇文章示範如何用C++來作屬性背景要利用標準C++來實踐屬性,需要具備C++的對象,樣板,以及函數指標的用法這個樣本是利用樣板對象來類比屬性的功能不過用這方法在效率上會較差,就當作是技術學習的一個經驗源碼template<class _Prop_t,class _ObjClass_t>class Property{private: typedef _Prop_t (_ObjClass_t::* _
Time of Update: 2018-12-04
這段代碼示範如何用C實踐Timer這個範例用Borland C++ 3.1編譯冊試過... #include <time.h>#include <stdio.h>#include <stdlib.h>double BeginTimer(){ //timer declaration double Begin; //initialize Begin Begin = clock() / CLK_TCK; //start the timer
Time of Update: 2018-12-04
因為工作上的需要,現在必需要用C來開發崁入式系統的程式為了增強功力,就順便學習一下怎麼使用C來實踐OOP這個範例是利用Xcode3.2.3+gcc4.2實踐的......跟google找到的範例有點小出入.....http://stackoverflow.com/questions/351733/can-you-write-object-oriented-code-in-c #include <stdio.h>#include <stdlib.h>typedef
Time of Update: 2018-12-04
#include <iostream>template <typename T>class double_linked{ struct node { T data; node* prev; node* next; node(T t, node* p, node* n) : data(t), prev(p), next(n) {} }; node* head; node*