c語言的一處陷阱

2021-06-20 01:22:49 字數 452 閱讀 5310

實際碰到的乙個問題,從msdn上拷貝了一段**,是用c寫的,編譯通過,執行崩潰,

#include // test.c 用unicode方式編譯崩潰

void main()

以上**用unicode方式c編譯可以通過,執行時崩潰,編譯器會報個警告,兒非錯誤

test.c(13) : warning c4133: 'function' : incompatible types - from 'char [9]' to 'lpwstr'

createprocessw 的第二個引數要去是lpwstr ,這裡被強制轉換了而c++方式編譯的話會報錯,直接編譯不過

test.cpp(21) : error c2664: 'createprocessw' : cannot convert parameter 2 from 'const char [9]' to 'lpwstr'

C語言 extern 經常出錯的一處

在乙個 原始檔裡定義了乙個 陣列 char a 6 在另外乙個檔案裡用下列語句進行了宣告 extern char a 請問,這樣可以嗎?答案與分析 1 不可以,程式執行時會告訴你非法訪問。原因在於,指向型別t的 指標並不等價於型別t的陣列。extern char a宣告的是乙個指標變數而不是字元陣列...

修復一處上傳不了的問題

原因居然是因為我關閉了記憶體快取。網頁有dom是動態生成的,如img。說來也很奇葩,記憶體快取關了後,imageloader shouldloadimmediately在第二次的時候返回了false,導致延遲設定了setimage,導致在layout的時候沒有正確的大小,導致網頁的js獲取寬度的時候...

實戰修改密碼處的一處邏輯問題 原創

遇到乙個系統,有點代表性,就把這個漏洞細節發出來了。具體漏洞點在修改密碼的地方。首先用xiaoliu13的號進行登入 然後點選修改密碼 然後填寫好原密碼和確認密碼後點選修改,然後抓包 然後可以看到,這裡有我的賬號,把我的賬號改成其他賬號。這裡原密碼我們改成123456,進行爆破,若對方密碼為1234...