贊助商連結


NDK編譯可執行文件在Android L中運行顯示error: only position independent executables (PIE) are supported.失敗問題解決辦法。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

在ndk專案常常會遇到,像是編譯ffmpeg專案,應該都會遇到這種錯誤> #include "ffmpeg.h" error: ffmpeg.h: No such file or directory",大致上就是說不到對應的ffmpeg.h檔案,這時候就得加入LOCAL_C_INCLUDES來引入對應的.h檔案

# 配置自己的源文件目錄和源文件後綴名
MY_FILES_PATH  :=  $(LOCAL_PATH) \
                   $(LOCAL_PATH)/../../Classes
MY_FILES_SUFFIX := %.cpp %.c
# 遞歸遍歷目錄下的所有的文件
rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))
# 獲取相應的源文件
MY_ALL_FILES := $(foreach src_path,$(MY_FILES_PATH), $(call rwildcard,$(src_path),*.*) ) 
MY_ALL_FILES := $(MY_ALL_FILES:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)
MY_SRC_LIST  := $(filter $(MY_FILES_SUFFIX),$(MY_ALL_FILES)) 
MY_SRC_LIST  := $(MY_SRC_LIST:$(LOCAL_PATH)/%=%)
# 去除字串的重複單詞
define uniq =
  $(eval seen :=)
  $(foreach _,$1,$(if $(filter $_,${seen}),,$(eval seen += $_)))
  ${seen}
endef
# 遞歸遍歷獲取所有目錄
MY_ALL_DIRS := $(dir $(foreach src_path,$(MY_FILES_PATH), $(call rwildcard,$(src_path),*/) ) )
MY_ALL_DIRS := $(call uniq,$(MY_ALL_DIRS))
# 賦值給NDK編譯系統
LOCAL_SRC_FILES  := $(MY_SRC_LIST)
LOCAL_C_INCLUDES := $(MY_ALL_DIRS)

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

javascript中如何判斷空值null與undefined

在 JavaScript 中,有基本(Primitive)資料型態、複合(Composite)資料型態,還有兩個特殊的值 nullundefined

nullJavaScript 中特殊的值,表示沒有任何東西。應用的時機就是在變數不參考至任何物件時,可以指定變數為 null,或測試變數是否參考至 null

undefined 是 JavaScript 中特殊的值,當你試圖取得某個沒指定任何值的變數(也沒指定 null)或特性(Properties)時,就會出現 undefined 的結果。對 undefined 使用 typeof 的結果是 'undefined'。在 Node.js 中,undefined 會顯示 undefined。(在 Rhino Shell 中,undefined 不會顯示任何結果,因此,你在 〈資料型態〉中看到的 Rhino Shell 示範,若是執行結果為 undefined 時,就只是單純換下一行而不顯示任何東西。)

var exp = undefined;
if (typeof exp == "undefined")
{
    alert("undefined");
}

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. $stmt = $conn->prepare("SELECT * FROM feed WHERE SUBSTRING_INDEX( id, '_', 1 ) = ? limit ?,? ");
  2. $stmt->bindValue(1, $group_id);
  3. $stmt->bindValue(2, $start);
  4. $stmt->bindValue(3, $end);

若要做limit查詢時,不可利用基礎的bindValue方法去做參數綁定,必須要利用如下的進階bindValue方法做強制轉型,查詢語法也從問號改成 :start等。

  1. $stmt = $conn->prepare("SELECT * FROM feed WHERE SUBSTRING_INDEX( id, '_', 1 ) = :group_id limit :start,:end ");
  2. $stmt->bindValue(':group_id', $group_id);
  3. $stmt->bindValue(':start', (int) $start, PDO::PARAM_INT);
  4. $stmt->bindValue(':end', (int) $end, PDO::PARAM_INT);

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHPMailer 錯誤:OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed  

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (四) - SQL注入攻擊(SQL Injection)  

SQL注入攻擊(SQL Injection)是攻擊者在表單中提交精心構造的sql語句,改動原來的sql語句,如果web程序沒有對提交的數據經過檢查,那麼就會造成sql注入攻擊。

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (三) - 客戶端腳本植入攻擊  

本文主要介紹針對PHP網站的客戶端腳本植入攻擊方式。所謂客戶端腳本植入攻擊,是指將可以執行的腳本插入到表單、圖片、動畫或超鏈接文字等對象內。當用戶打開這些對象後,駭客所植入的腳本就會被執行,進而開始攻擊。

客戶端腳本植入(Script Insertion),是指將可以執行的腳本插入到表單、圖片、動畫或超鏈接文字等對象內。當用戶打開這些對象後,攻擊者所植入的腳本就會被執行,進而開始攻擊。

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (二) - magic_quotes_gpc=Off的安全性問題  

若是從 PHP 4.0 或甚至更早的版本開始寫程式,一定對magic_quotes_gpc這個設定不會陌生。早期的 PHP 為了防止 user 端送到 server 端的資料,會被惡意內容攻擊,有 SQL injection的疑慮,因此很體貼地設計一個這樣的開關。當magic_quotes_gpc=on時,$_GET、$_POST、$_COOKIE 等等從 user 端來的資料,如果含有單引號、雙引號、反斜線等內容,會自動被加一條反斜線在前面,把該字元跳脫掉,也就是做 addslashes() 的處理,以免開發者不做檢查就直接把資料串在 SQL 指令上,導致系統沒兩天就被駭客爆台。於是,PHP版本持續演進從預設 magic_quotes_gpc = on,變成預設 magic_quotes_gpc = off,再到 PHP 5.3 版之後跟register_globals一樣,宣告棄用,拿掉了這個功能。

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (一) - register_globals=On的安全性問題  

最要的php.ini選項:RegisterGlobals

php版本<4.2.0時,php.ini的register_globals選項的預設值為On,當register_globals的設定為On時,程式可以接收來自服務器的各種環境變量,包括表單提交的變量,而且由於PHP不必事先初始化變量的值,從而導致很大的安全隱患。也就是一種把所有參數收進來都當成全域變數儲存的功能。所以從PHP 5.3開始,為了更好的向PHP的未來版本(PHP6)過渡,將未來不再支持的函數標記為DEPRECATED(棄用)。在代碼中使用這些函數,將毫不留情的在頁面中顯示警告信息:「使用了過時的函數…」,使得程式無法正常執行。

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

 Android 5.0 (Lollipop) Android 的全新版本甜蜜登場  

Android 5.0 是一次重大的系統更新。它帶來了全新的設計風格,全新的軟體運作環境、更好的電源管理和大量的細節改進。不過,Android 5.0 的改變,不只是設計和技術層面的,也包含了許多策略層面的東西。

Android L 的「L」終於有了註解——Lollipop(棒棒糖),既不是 Lemon Meringue Pie,也不是 Licorice。延續之前用糖果命名的習慣, Google 正式推出了新一代Android  5.0 ——Lollipop。

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

我該學習哪種程式語言?  

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

778  

如果資料量太大,我們勢必透過「分頁」的做法來展示。例如google的搜尋結果那樣也會透過第幾頁來展示資料,這樣分頁可以讓使用者一次只查閱特定的筆數、也可以節省相當多資料傳輸的浪費。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PS3死亡黃燈修復全過程教學  

文章轉自多玩論壇當做以後我需要維修時,可以查看的備份

 

如果有機友的機器已經做過幾次BGA銲接,無法修復了,可以找我。

年前PS3黃燈了,本打算拿回老家去玩的,於是沒理它,年後回來之後憑著多年的維修經驗打算好好的折騰他一下,這台厚機PS3 2012年6月份黃燈了,BGA銲接修復了一次,玩了幾個月,現在又黃了,考慮到BGA銲接之後它還會再復發。於是定下方案要給他值錫球銲接。本次維修全 程記錄,希望能幫助到有需要的多玩網友,如果朋友們有什麼不明白的,或者是想要問我的,也或者是機器壞了尋求幫忙可以

企鵝我:QQ:750321533.

下面這個就是死去的它了,機器裡還有很多遊戲和存檔。

文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(1) 人氣()

How simulate CTRL+V keystrokes (paste) using C#

 

對元件取得焦點後,可以使用以下方法:

SendKeys.Send("^{v}");

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

c++模擬滑鼠滾輪輸入事件 ,一般可以通過mouse_event()和SendInPut()兩種方法。mouse_event()在windows後期版本中逐漸被SendInPut()取代。

以下函式輸入1可以往上滾,輸入-1可以往下滾

void mouse_wheel(int direction)
{
        INPUT in;
        in.type = INPUT_MOUSE;
        in.mi.dx = 0;
        in.mi.dy = 0;
        in.mi.dwFlags = MOUSEEVENTF_WHEEL;
        in.mi.time = 0;
        in.mi.dwExtraInfo = 0;
        in.mi.mouseData = direction*WHEEL_DELTA;
        SendInput(1, &in, sizeof(in));
}
文章標籤

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論