C語言相關的幾個疑惑

(1)C語言的創立早期的UNIX是用組合語言編寫的,但很笨拙,系統難以調試,理解困難。Thompson想利用進階語言的一些優點,幾經嘗試後建立了B語言。B語言是對BCPL的簡化,常駐記憶體。由於記憶體的限制,記憶體中只能放置解譯器,而不是編譯器,效率低下,同時,B語言無法表達不同的資料類型。Dennis Retchie利用PDP-11的強大效能,創立了能夠同時解決多種資料類型和效率的“New B“語言。這個名字很快就變成了"C",這就是C語言。BCPL:基本組合程式設計語言(Basic

C#數字格式

using System;class FormattingNumbers{  static void Main()  {    decimal theDecNumber = 12345.678m; //the "m" creates a literal of type decimal from a double    //Using the ToString Method    //the number in the format string is the precision specifie

C#寫XML

下段代碼將會產生形如:<Root><Node Key = "" Value = ""></Node><Node>....</Root>這樣的XML檔案。下段代碼中有很多是自訂的字串常量。還有使用Hashtable的地方。  public void Save()  {   FileInfo fi = new FileInfo(_fileName);   if (!fi.Exists)// to

C# network stream

    今天碰到一個問題。啟動並執行時候Server和Client端可以正常通訊,但是調試的時候去在Stream.Read()那裡卡死。看Client端的代碼,發現有很多的thread.Sleep()操作。於是把Thread.Sheep()中的參數值調大了些,向networkStream中寫資料不像過去那麼快,結果調試就pass了。百思不得其解,瑞軍老大說:“StreamRead是不是同一個?”就這一句話解決了JAME(j2me

C# Thread 點點滴滴

用C#的Thread做了一個簡單計時器。為了讓自己45分鐘後就可以休息一次,45分鐘過後會響音樂提示。開始使用的TimeSpan相減的方式,在Thread的啟動函數中也就是這樣寫的:public void CountTime(){               while (true)   {      TimeSpan tsNew = new TimeSpan(DateTime.Now.Ticks);      TimeSpan tsIn = tsNew - tsOld;      if (ts

如何用vs編譯c語言,compiler error C1853

這裡犯得錯誤是使用c++的先行編譯頭去編譯c語言。如果解決C1853這個錯誤呢?其實就是對每一個.c檔案加上#include "stdafx.h" 然後把.c檔案改為.cpp檔案然後在把工程屬性中的configuration properties中的c/c++中的Precompiled Header中的Create / use Precompile Header 中的User precompile Header 改為Create precompile Header How to compile

c++ 類中static變數初始化問題

 首先static變數只有一次初始化,不管在類中還是在函數中..有這樣一個函數:void Foo(){static int a=3; // initializestd::cout << a;a++;}這裡的static int a=3隻執行了一次。在main中調用Foo()兩次,結果為34.將上面的函數改為void Foo(){static int a; a=3; // not initializestd::cout << a;a++;}

C#解析XML檔案

            XmlNodeReader reader = null;            try            ...{                XmlDocument xd = new XmlDocument();                xd.Load(filename);                reader = new XmlNodeReader(xd); //建立新的XML reader                string nodeTyp

c++全域變數的使用

昨天看了新泰科技的筆試題。第一個感覺...下屆的基礎太差。然後發現一個有趣的題:c++全域變數在其他的cpp檔案中怎麼使用?我的第一感覺是直接使用。不過感覺加"include"和"::"這樣回答更好,順便問了下同寢的人。發現完全不同的答案,他說要使用每一個cpp裡都要加extern...我倆僵持不下,於是開啟vs2005,開始編程驗證。然後發現如果是一個cpp檔案,怎麼做都是對的。如果兩個或多個cpp檔案,正確的格式是這樣的oo.h中#ifndef OO#define OOextern int

關於C++中私人繼承後虛函數的存取權限與私人繼承後多態的問題

class Base{ public:     void NoVirtualFun()     {         printf("Base::NoVirtualFun()!/n");     }     virtual void VirtualFun()     {         printf("Base::VirtualFun()!/n");     } }; class ClassA{ private:     Base* m_pBase; public:     ClassA() :

Window OpenGL 程式C++版本

程式結構有待改善,能正常運行,不足之處歡迎指出。////////////////////////////////////////////////////////////////////////////////////COpenGL.h#ifndef _COPENGL_H#define _COPENGL_H#include "OpenGLFrame.h"class COpenGL{private: HDC m_hDC;       //裝置描述表 HGLRC

多邊形面積計算方法[簡單多邊形][C++]

#include <iostream>#include <cmath>#include <windows.h>const int NUM = 4;//多邊形的各邊不能相交,不然計算會出錯//面積為正可以判斷多邊型正面,面積為負表示多邊形背面double GetArea( POINT *pPoint, int nNum ){ double S = 0; for(int i=0; i<nNum-1;

C中可變參數函數實現

一、 從printf()開始原型:int printf(const char * format, ...);參數format表示如何來格式字串的指令,…表示選擇性參數,調用時傳遞給"..."的參數可有可無,根據實際情況而定。系統提供了vprintf系列格式化字串的函數,用於編程人員封裝自己的I/O函數。int vprintf / vscanf(const char * format, va_list ap); // 從標準輸入/輸出格式化字串 int vfprintf /

vivi分析-head.S->main.c

最近在閱讀 vivi,順便將其中的針對 2410 有用的部分精簡出來,構成自己的代碼。剛剛完成了彙編部分,head.S 終於順利的跳入到了 main.c 中。這個過程我是逐個功能添加的。每添加一個功能,直到測試成功再添加下一功能。這樣的累積我覺得也是有好處的,可能對每個功能模組、每個步驟都詳細瞭解出了問題也能很快的定位。當然,最重要的是深入細節,其中可以學到很多的東西,掌握很多東西。(“學會”與“掌握”是不同的) 從 head.S 跳入 main.C

C#螢幕截取[包括案頭與視窗]

      截取案頭映像,比較簡單,只需要簡單的調用Graphics的CopyFromScreen方法即可以實現;     關於將映像繪製到視窗上很容易實現,但是卻很少看到有文章介紹從視窗上截取映像的。下面主要介紹一下關於視窗映像截取的方法。    要截取視窗的映像,需要用到系統提供的BitBlt函數,這個函數的作用就是從源裝置的上下文中拷貝一張Bitmap映像至目標裝置。具體參數介紹請參見MSDN文檔   下面是C#對該函數的引入操作:      [DllImport("gdi32.dll",

Android 編譯 C 庫

標準的做法是 把 src 放到  /android/develop/ 目錄下去,然後建立 Android.mk 檔案,然後 make modue ...., 但是,這種方式 太麻煩。 下面介紹一種方法,可以比較快速的編譯 C 庫,和上一篇中一樣,首先要設定自己的環境變數:  cat setenv.shexport PATH=$PATH:/android/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/binexport

kernel 啟動過程之三, start_kernel()函數 概敘!init/main.c

 核心資料結構初始化--核心引導第一部分 start_kernel()中調用了一系列初始化函數,以完成kernel本身的設定。這些動作有的是公用的,有的則是需要配置的才會執行的。在start_kernel()函數中, 輸出Linux版本資訊(printk(linux_banner))設定與體繫結構相關的環境(setup_arch())頁表結構初始化(paging_init())使用"arch/alpha/kernel/entry.S"中的進入點設定系統自陷入口(trap_init())使用alp

Android C/C++ 開發.

 Android 不支援 C/C++ 開發? 虛擬機器以上的程式是 JAVA開發,但是底層可以用 C/C++ 跑一些 後台 程式啊, 大不了用 soket 通訊嘛.  計劃在 rootfs  裡存放一套自己的 busybox, 自己的 Bash, 自己的 command 等,command 完全可以做成靜態, Android 裡的 shell 實在太難用了。用 Android.mk 的方式去編譯 C 程式也實在是太麻煩, 打算整理出一套 其他的編譯 C  程式的方法.NDK? NDK 只是

Anjuta- c++ “hello world”

 常見人問起,學C/C++,在Linux下用什麼工具好。有推薦vi/vim和emacs的,個人認為,那太難為像我們這樣的初學者了。印象中,KDE中的KDeveloper非常的不錯,簡直就跟VC是一樣的強大和方便。幾年沒用過了,現在不知怎麼樣了。

public、protected、private在C++和Java中的應用及區別

Java中這個三個保留字用來修飾類的資料成員和成員函數,以及類本身,而C++中修飾類的資料成員和成員函數,以及類的繼承,但不用來修飾類本身。◆ C++中應用:  1.Public, Private, and Protected 的成員如果使用 class 關鍵字來定義類,那麼定義在第一個訪問標號前的任何成員都隱式指定為 private;如果使用 struct 關鍵字,那麼這些成員都是 public。使用 class 還是 struct

總頁數: 4314 1 .... 1730 1731 1732 1733 1734 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.