原创 徹底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層