原创 徹底l理解大端與小端在內存中的關係
大小端的概念在這裏不解釋了,我們直接引用一句很經典的話: 大端模式:高字節保存在內存的低地址中,而數據的低字節保存在內存的高地址中; 小端模式:高字節保存在內存的高地址中,而數據的低字節保存在內存的低地址中; 但是看這文字解析是很枯燥
原创 C/C++中的符號與extern C的作用
很多人都知道,在C++中調用C的api, 需要在C++中使用extern "C"來修飾。那麼,爲什麼呢??? 我們需要先來了解幾個概念: 符號: 在鏈接中,我們將函數和變量統稱爲符號(Symbol), 函數名或變量名就是符號名(Symbo
原创 setjmp 與 longjmp 的使用
今天在瀏覽公司代碼的時候發現了一個很有意思的函數...setjmp 百度了一下,這個setjmp函數已經使面向過程編程變得撲朔迷離了~ 先看代碼吧: #include <stdlib.h> #include <setjmp.h> #in
原创 Linux C中動態鏈接庫的全局變量問題
如果一個共享對象libtest.so中定義了一個全局變量G,而進程A和進程B都使用了libtest.so, 那麼當進程A改變這個全局變量G的值時,進程B中的G會受到影響嗎? 古人云:實踐出真知... /* * ============
原创 GCC 編譯文件生成可執行文件的過程分析
學硬件的同學第一件事肯定是GPIO點亮LED燈,而學軟件的同學,大部分做的第一件事就是Hello world! #include <stdio.h> int main(int argc, char *argv[]) { print
原创 python 解決2018年刑偵推理試題
編程這種東西。。。就是要有東西玩玩纔開心。。。 廢話不多說,直接上源碼: import sys from itertools import product answer = list('0AAAAAAAAAA') def q
原创 PyQt5 + Opencv 顯示攝像頭圖像
需要安裝的庫 PyQt5 opencv 效果 代碼 from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * impor
原创 shell編程中declare命令的使用
衆所周知,shell變量是弱類型變量,默認情況下都是字符串型。字符串不能直接進行數學運算,如果想要進行數學運算,便可使用declare聲明變量類型。 declare命令的用法: declare [+/-] [選項] 變量名 + : 取消變
原创 Android Logcat日誌優化
在android開發中,logcat日誌是最常用的打印調試功能。但是android提供的logcat類只能打印TAG信息以及content,因此,受C語言宏定義__FILE__以及__FUNCTION__的啓發,優化logca
原创 如何使用Android.mk編譯動態庫以及可執行文件
在Android開發中,開發層次我認爲大體上分爲三個層次: 1.應用層:應用層主要通過eclipse以及android studio編寫上層業務以及UI等,主要依賴於系統提供的接口。 2.framework層