近來主要在寫一些STM32上的開發程式,由於STM32的韌體庫中,I2C模組實在是不好用,所以在採用了軟體類比的方法來實現。 具體的代碼如下(在Keil下調試通過): #include "stm32f10x_lib.h"//條件編譯 1:使用軟體類比I2C//#define PIN_SCL GPIO_Pin_6//#define PIN_SDA GPIO_Pin_7static __inline void TWI_SCL_0(void){
排列和組合演算法是考查遞迴的常見演算法,這兩種演算法能用遞迴簡潔地實現。 本人在經過多次摸索和思考之後,總結如下,以供參考。 程式碼如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 char array[] = "abcd"; 5 6 #define N 4 7
開始開發C++項目也有2個月了,從一開始寫代碼就繞不開記憶體流失這個點。找了個時間專門搞了個專項活動,從開始的幾十個記憶體流失點到現在慢慢了有了點經驗,現總結下。 偵查工具 記憶體流失點實踐 0x01 0x02 0x03 偵查工具
1 /* * 檔案名稱:exe1 * 作 者:張宇恒 * 完成日期:2016 年 3 月 10 日 * 版 本 號:v1.0 * 對任務及求解方法的描述部分: * 輸入描述:兩個整數a,b * 問題描述:求a,b兩數的和及差 * 程式輸出:a+b= ,a-b= , * 問題分析:略 *
關於在web情況下訪問C#用戶端,導致C#用戶端無法訪問網路映射盤問題
初學者很容易把這些概念搞混淆。先說說 項目(Project),通俗的說,一個項目可以就是你開發的一個軟體。在.Net下,一個項目可以表現為多種類型,如控制台應用程式,Windows應用程式,類庫(Class Library),Web應用程式,Web Service,Windows控制項等等。如果經過編譯,從副檔名來看,應用程式都會被編譯為.exe檔案,而其餘的會被編譯為.dll檔案。既然是.exe檔案,就表明它是可以被執行的,表現在程式中,這些應用程式都有一個主程式進入點,即方法Main()
一個用戶端向伺服器端socket發送報文,但是伺服器端限制了發送頻率,假如10秒內只能發送1次,這時用戶端也要相應的做限制,初步的想法是在設定檔中儲存上次最後發送的時間,當前發送時和這個上次最後時間做比較,根據情況馬上發送還是休眠相應的時間。 舉個例子,伺服器發送頻率限制是10秒,上次最後發送時間是10:00:00,有兩種情況: (1)目前時間是10:00:03,則過7秒後發送; (2)目前時間是10:02:00,則馬上發送。 App.config
介紹內嵌函式之前,有必要介紹一下預先處理宏。內嵌函式的功能和預先處理宏的功能相似。相信大家都用過預先處理宏,我們會經常定義一些宏,如 #define TABLE_COMP(x) ((x)>0?(x):0)
快速傅裡葉變換FFT的C語言演算法徹底研究 LED音樂頻譜顯示的核心演算法就是快速傅裡葉變換,FFT的理解和編程還是比較難的,特地撰寫此文分享一下研究成果。 一、徹底理解傅裡葉變換 快速傅裡葉變換(Fast Fourier Transform)是離散傅裡葉變換的一種快速演算法,簡稱FFT,通過FFT可以將一個訊號從時域變換到頻域。
1.字串操作安全 1.1 確保所有字串都是以NULL結束 C語言中以 '\0' 作為字串的結束符,即NULL結束符。 沒有正確使用NULL結束符會導致緩衝區溢位和其他未定義的行為。 為了避免緩衝區溢位,常常會用相對安全的限制字元數量的字串操作函數代替一些危險函數 - strncpy() 代替 strcpy() - strncat() 代替 strcat() - snprintf() 代替 sprintf() - fgets() 代替 gets()
之前看其他演算法和資料結構書的時候覺得堆排序的代碼比較難寫,今天看過《演算法導論》發現也不是那麼難,所以就動手自己寫了一個。原理就是根據演算法導論第三版堆排序虛擬碼而來的。 #include<iostream>using namespace std;const int ARRAY_SIZE=10;int a[ARRAY_SIZE]={4,1,3,2,16,9,10,14,8,7};//調整pos位置,使得pos和其直接左右孩子滿足大堆條件void
一. cppcheck介紹 cppcheck 是一個靜態代碼檢查工具,支援c, c++ 代碼;作為編譯器的一種補充檢查,cppcheck對產品的原始碼執行嚴格的邏輯檢查。 執行的檢查包括: 1. 自動變數檢查 2. 數組的邊界檢查 3. class類檢查 4. 到期的函數,廢棄函數調用檢查
DLL也就是動態連結程式庫,使用DLL編程的好處大家應當都知道了吧,可是怎麼樣來作呢,今天我就來說說。 首先,你要確定你要匯出那些個函數,然後你就在你要匯出的函數名前加上下面一句話: // 輸出函數的首碼 #define DLL_EXPORT extern "C" __declspec( dllexport )
參考資料: http://apps.hi.baidu.com/share/detail/39003388 http://blog.csdn.net/yc0188/article/details/4741871 http://bbs.chinaunix.net/thread-2094334-1-1.html //標頭檔 #include <iostream> #include <string> #include <Winsock2.h>
編號: QA003792 建立日期: 2001年1月18日 最後修改日期: 2005年8月22日 所屬類別: C/C++ - 其他方面
轉載: http://www.cnblogs.com/jzhlin/archive/2012/07/30/bp_c.html 在上一篇文章中,介紹了BP神經網路的基本模型、模型中的一些術語並對模型進行了數學上的分析,對它的原理有了初步的認識。那麼如何用程式語言來具體的實現它,將是我們下一步需要討論的問題。本文選取的是C語言來實現一個簡單的單隱藏層的BP神經網路(預設大家瞭解了BP神經網路的基本概念,本文中涉及到些術語參見上一篇
轉自:http://www.yuloo.com/news/1007/448756.html #include<iostream> #include<io.h> using namespace std; void main() { _finddata_t file; long lf; if((lf =
#include<stdio.h>int main(void){ char str[6]="123456";int i=0,j=0;char temp[6];int num=0;for(i=0;i<str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9'){//為了保證是數字字串temp[j++]=str[i];}}i=0;while(i<j){num=num*10+temp[i]-'
指標是一個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的一個地址。 要搞清一個指標需要搞清指標的四方面的內容:指標的類型,指標所指向的 類型,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。讓我們分別說明。 先聲明幾個指標放著做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5)int*(*ptr)[4]; 指標的類型
一、程式改錯 共139題 (共計1390分) 第1題 (10.0分) 題號:351 /*------------------------------------------------------ 【程式改錯】 --------------------------------------------------------