一個有趣的C語言程式,誰說程式員不懂浪漫

瀏覽看雪論壇,發現有人講了一個有趣的C語言程式。原帖地址:http://bbs.pediy.com/showthread.php?p=389887我做了一點點的修改,最後列印出 i O y(中間那個是個心的形狀,運行程式就知道了)#include <stdio.h>int main(){ const short int c1 = 49920; const int c2 = 1073742008; int (*pf)() = (int (*)())&c2;

基於visual c++之windows核心編程程式碼分析(39)實踐鍵盤監控測試

在開發軟體監控危害我們偉大祖國安全的間諜分子的時候,經常需要監控鍵盤記錄,擷取相關資訊。我們在開發軟體的時候為了避免客戶的資訊泄露,也需要監控鍵盤記錄,所以我們來親自實踐一下監控鍵盤記錄。首先請見我們主程式裡面調用並載入鍵盤監控DLL,並載入在系統中。#include "ktr.h"int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int

C語言區間隨機數產生 with srand() & rand() & time()

在用電腦的一些智能演算法(GA,PSO,ANN etc.)模擬時經常需要隨機產生初始種群(初始樣本),看看<stdlib.h>中的這兩個函數的偽隨機數產生吧~~~1. 產生[a,b]之間的一個實數和一個整數[cpp] view plaincopy/* 定義函數     int   rand(void); 函數說明     rand()會返回一隨機數值,範圍在0至RAND_MAX   間。 在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand(

C/C++的64位整型

 在C/C++中,64為整型一直是一種沒有確定規範的資料類型。現今主流的編譯器中,對64為整型的支援也是標準不一,形態各異。一般來說,64位整型的定義方式有long long和__int64兩種(VC還支援_int64),而輸出到標準輸出方式有printf("%lld",a),printf("%I64d",a),和cout <<

c語言好書推薦

以下列舉出一部分,歡迎補充。圖書資訊大部分出自豆瓣。以書均有電子版下載連結,本人法盲,如有侵權問題請告知,我將刪除所有連結和電子資源。還請大家買紙質版書籍,尊重著作權。《c程式設計語言》在電腦發展的曆史上,沒有哪一種程式設計語言像C語言這樣應用廣泛。本書原著即為C語言的設計者之一Dennis M.Ritchie和著名電腦科學家Brian

c/c++記憶體配置方式

 原文連結:http://blog.csdn.net/jing0611/article/details/40302371.記憶體配置方式記憶體配置方式有三種:[1]從靜態儲存地區分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個運行期間都存在。例如全域變數,static變數。[2]在棧上建立。在執行函數時,函數內局部變數的儲存單元都可以在棧上建立,函數執行結束時這些儲存單元自動被釋放。棧記憶體配置運算內建於處理器的指令集中,效率很高,但是分配的記憶體容量有限。[3]從堆上分配,亦稱

c#.net如何擷取本機ip

using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.

C#運算子之與,或,異或及移位元運算

C#運算子之與,或,異或及移位元運算 1.剖析異或運算(^) 二元 ^ 運算子是為整型和 bool 類型預定義的。對於整型,^ 將計算運算元的按位“異或”。對於 bool 運算元,^ 將計算運算元的邏輯“異或”;也就是說,若且唯若只有一個運算元為 true 時,結果才為 true。數值運算舉例按位異或的3個特點:(1) 0^0=0,0^1=1  0異或任何數=任何數(2) 1^0=1,1^1=0  1異或任何數-任何數取反(3) 1^1=0,0^0=0  任何數異或自己=把自己置0例如:1010

簡單的程式詮釋C++ STL演算法系列之十:search

      C++STL的非變易演算法(Non-mutating algorithms)是一組不破壞操作資料的模板函數,用來對序列資料進行逐個處理、元素尋找、子序列搜尋、統計和匹配。      search演算法函數在一個序列中搜尋與另一序列匹配的子序列。它有如下兩個原型,在迭代器區間[first1, last1)上找迭代器區間[first2, last2)完全符合(或者滿足二元謂詞binary_pred)子序列,返回子序列的首個元素在[first1,

單片機鍵盤響應C代碼

/*--此段代碼通用,修改後可以完成一般設定鍵盤的動作響應--flystone 2006-02--轉載保留此資訊*/#define SCANKEY_T 40 #define DELAY_T 6 #define TRUE 1#define FALSE 0#define KEY_ADD 0x0e //(00001110)#define KEY_ENTER 0x0b //(00001011)#define

基於visual c++之windows核心編程程式碼分析(16)使用郵槽進行進程通訊

 在Windows環境下,實現處理序間通訊的方式有很多種,如通訊端、管道、遠端程序呼叫和NETBIOS等,郵槽是其中實現單通道處理序間通訊的一種。建立郵槽的進程被稱為郵槽伺服器,而其它發送訊息給郵槽的進程被稱為郵槽用戶端。郵槽用戶端能發送訊息給原生郵槽,也可發送訊息給區域網路內其他電腦內的郵槽,所有這些訊息都儲存在郵槽內,直到郵槽伺服器讀取它。這些訊息通常是以廣播的方式發送,建立在面向無連結的資料報的基礎上,因此線上路不好時傳輸品質不可靠。  這種處理序間通訊的方式比較適用於在區域網路環境內傳送

基於visual c++之windows核心編程程式碼分析(48)編程實現遠程登入3389

 3389連接埠是Windows 2000(2003) Server 遠端桌面的服務連接埠,可以通過這個連接埠,用"遠端桌面"等串連工具來串連到遠端伺服器,如果串連上了,輸入系統管理員的使用者名稱和密碼後,將變得可以像操作本機一樣操作遠端電腦,因此遠程伺服器一般都將這個連接埠修改數值或者關閉。3389連接埠的關閉:   首先說明3389連接埠是windows的遠端管理終端所開的連接埠,它並不是一個木馬程式,請先確定該服務是否是你自己開放的。如果不是必須的,建議關閉該服務。   win2000

基於visual c++之windows核心編程程式碼分析(17)通過pipe處理序間通訊

管道是一種用於在進程間共用資料的機制,其實質是一段共用記憶體。Windows系統為這段共用的記憶體設計採用資料流I/0的方式來訪問。由一個進程讀、另一個進程寫,類似於一個管道兩端,因此這種進程間的通訊方式稱作“管道”。    管道分為匿名管道和具名管道。    匿名管道只能在父子進程間進行通訊,不能在網路間通訊,而且資料轉送是單向的,只能一端寫,另一端讀。    命令管道可以在任意處理序間通訊,通訊是雙向的,任意一端都可讀可寫,但是在同一時間只能有一端讀、一端寫。 管道用戶端代碼實現如下/*

基於visual c++之windows核心編程程式碼分析(19)枚舉進程以及進程載入模組資訊

我們進行Windows安全編程的時候,經常需要檢測進程,我們來實踐一下枚舉進程與進程載入模組。請見代碼實現與注釋分析。  /* 標頭檔 */#include <Windows.h>#include <Psapi.h>#include <Tlhelp32.h>#include <stdio.h>/* 預先處理聲明 */#pragma comment (lib, "psapi.lib")/* 函式宣告 */VOID WINAPI

基於visual c++之windows核心編程程式碼分析(54)實現Winlogon注入dll

Windows Logon Process,Windows NT 使用者登陸程式,系統管理使用者登入和退出。該進程的正常路徑應是 C:\Windows\System32 且是以 SYSTEM

Windows8開發指南(7)開發基於Windows8的第一個C++程式

微軟公布了Windows8開發人員預覽版,http://msdn.microsoft.com/en-us/windows/home?ocid=ban-f-cn-dca-Sep-Win8Build  大家可以在虛擬機器上安裝。比如 virtual Box4.12.安裝完成以後效果如下建立第一個Windows8應用程式,Visual Studio

基於visual c++之windows核心編程程式碼分析(26)實現檔案關聯

  檔案關聯就是將一種類型的檔案與一個可以開啟它的程式建立起一種依存關係。舉個例子來說,位元影像檔案(BMP檔案)在Windows中的預設關聯程式是“畫圖”,如果將其預設關聯改為用ACDSee程式來開啟,那麼ACDSee就成了它的預設關聯程式。   一個檔案可以與多個應用程式發生關聯。我們可以利用檔案的“開啟檔案”進行關聯選擇。我們也可以刪除因誤操作而引起的錯誤檔案關聯,可以根據需要建立檔案關聯,在有些軟體中還可以恢複檔案的關聯。   檔案關聯也是很多流行病毒、木馬經常利用的隱藏和自動運行手段。

基於visual c++之windows核心編程程式碼分析(34)WinIo驅動級類比按鍵的實現

WinIO程式庫允許在32位的Windows應用程式中直接對I/O連接埠和實體記憶體進行存取操作。通過使用一種核心模式的裝置磁碟機和其它幾種底層編程技巧,它繞過了Windows系統的保護機制。  WinNT/2000/XP下,WinIO函數庫只允許被具有管理者許可權的應用程式調用。如果使用者不是以管理者的身份進入的,則WinIO.DLL不能夠被安裝,也不能啟用WinIO磁碟機。通過在管理者許可權下安裝磁碟機軟體就可以克服這種限制。然而,在這種情況下,ShutdownWinIo函數不能在應用程式結

VisualC++資訊安全編程(4)實現檔案自我刪除

檔案自我刪除是一個很有必要的功能,尤其在國家之間的網路戰爭。   #include "stdafx.h"#include <sys/stat.h> //加入狀態顯示標頭檔.BOOL SelfDel1(){SHELLEXECUTEINFO sei;TCHAR szModule [MAX_PATH],szComspec[MAX_PATH],szParams [MAX_PATH];// 獲得檔案名稱.if((GetModuleFileName(0,szModule,MAX_PATH)!=

C#多線程訪問定義的全域變數(lock線程鎖)

手動和自動同時訪問全域變數時,就有可能出現線程不同步的問題。以下主要利用lock線程鎖來修改解決方案,使線程同步,詳細代碼如下。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using

總頁數: 4314 1 .... 2690 2691 2692 2693 2694 .... 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.