鍍金池/ 問答/ C問答
熊出沒 回答

前端切,而且不需要你自己弄,常見的上傳控件都自帶分片上傳,你只需要管php的文件合并就可以了,不過為什么要用sftp上傳呢?

祈歡 回答

創(chuàng)建內核級線程linux有個系統(tǒng)調用叫clone(),具體用法man 2 clone

你用他創(chuàng)建一個和父進程共享頁表,進程組,獨立堆棧的子進程就行了,這個子進程其實就是內核級線程?,F(xiàn)在的pthread的內核線程就是這樣實現(xiàn)的。

其實pthread_create(), fork()背后調用的都是clone()

至于用戶級線程,別考慮,那玩意是個天坑,調用系統(tǒng)調用都會導致整個進程阻塞.

野橘 回答

這個錯誤提示很明顯 .
就是 你選擇的版本的 iOS 下沒有這個系統(tǒng)函數(shù) clock_settime
事實上. macOS 也是 10.12 下才有這個函數(shù)的.

clock_settime 的手冊頁說明如下.

These functions first appeared in Mac OSX 10.12

建議你找找你別人修改過可以在 iOS 下運行的 python 版本, 或者自行修改.

刮刮樂 回答

array_shift彈出每個單元的第一個元素

柒喵 回答

1.644834 1.644725 是用float計算來出來。精度低。

你的代碼是用double算出來的,精度高。

用double計算,兩次計算的數(shù)據(jù),也會不一樣。
但你的代碼顯示一樣,是因為你是按float的格式輸出double的數(shù)據(jù)。
如果你輸出double所有的小數(shù),結果就會不一樣。
就是這樣的數(shù)據(jù)。
1.64483407184805963
1.64483407184806518
最后向幾位不一樣。

如果用float,就是這樣的數(shù)據(jù)
1.64483404159545898
1.64472532272338867

附c++,double計算的代碼

#include <iostream>
int main()
{
double s=0;
for(int i=10000;i>0;i--)
{
double t = 1.0/(i*i);
s +=t;

}
std::cout.precision(17);
std::cout<<std::fixed<<s<<std::endl;

s = 0;
for(int i=1;i<=10000;i++)
{
double t = 1.0/(i*i);
s +=t;
}
std::cout.precision(17);
std::cout<<std::fixed<<s<<std::endl;
}

單精度浮點數(shù)在機內占4個字節(jié),用32位二進制描述。
雙精度浮點數(shù)在機內占8個字節(jié),用64位二進制描述。

綰青絲 回答
c 語言的 宏 是自動根據(jù)值來確定類型的??

宏是不帶類型信息的, 只是preprocessor的一個文本替換的, 與之相對的c++的模板則帶有類型信息.

請問 宏 的實際應用價值是什么??

原理


簡單的說, 就是文本替換, 只不過基于文本替換可以玩出來些花樣.

實際應用價值


性能 能省去函數(shù)調用的開銷, 實現(xiàn)真正意義上的inline.

實現(xiàn)泛型與重載 c是不支持這倆貨的, 一定層面, 宏可以實現(xiàn)其功能, 很經(jīng)典的一個例子: #define max(a,b) ((a)<(b)?(b):(a)), 可以傳int, float等等, 你可以理解為支持了重載, 也可以理解為支持了泛型, 雖然很丑陋233. 再舉個不那么常見的:

#define MAKE_PAIR(T) \
  typedef struct MAKE_PAIR##T{ \
       T first; \
       T second; \
  } ##T##_pair 

 MAKE_PAIR(char);
 MAKE_PAIR(int);
 MAKE_PAIR(float);

這樣就直接定義了多個類型的pair. 也是對泛型的模擬.

我感覺他和 變量 的作用是一樣的..,而且相比變量感覺由于沒有聲明數(shù)據(jù)類型,在使用上更加不方便...

就是不方便呀, 而且不只是缺乏類型, 更重要的是它的scope是dynamic scope, 而不是大家所熟知的lexical scope, 前者的name lookup是在調用處尋找, 而后者則是在定義處. 這有時候會造成混亂.

什么時候可以用?

  • 自己瞎玩時
  • 確定下來真的是某個函數(shù)是性能瓶頸(這種情況其實很少出現(xiàn))

什么時候不該用?

能不用的時候就別用

Update

回復OP的疑問: 你給的這兩個鏈接的說法都不對. inline這個keyword和語義inline本身無關, 你添加了inline其實不會對編譯器有什么影響. 編譯器有自己的判斷. c的inline是c99開始出現(xiàn)的, 貌似是學c++的. c語言的odr(或者說c其實是沒有odr的, 這里只是代指那套規(guī)則)我不是很熟悉, 不過在c++里面inline關鍵詞的作用就是屏蔽odr檢查. 和inline的語義(內聯(lián))沒有任何關系. 泛型的話也別看百度百科, 里面問題一大堆. 多搜英文資料. 或者寫寫c++的模板就知道了. 上面那個pair應該還是很容易看出泛型在c里面的應用的. 不只是primitive type, 其實你自己的結構體也可以這樣很輕松的做出搞出來pair.

萌面人 回答

第二種 第一種你也說了 會對數(shù)據(jù)庫造成壓力 如果其他應用也使用該數(shù)據(jù)庫 會提示壓力
而且消息隊列本身也有持久化 你可以處理完之后把結果扔數(shù)據(jù)庫

巫婆 回答

就是內存不足,加大內存。還有一個方法,先把上傳的圖片縮小再去識別

青黛色 回答

PHP中float轉int是將小數(shù)位全部棄掉,(0.1+0.7)*10的結果內部的表示其實是類似7.9999999999999991118…,于是強行轉換為int值時,結果為7。

如果實在要轉,最好使用round,進行四舍五入避開浮點數(shù)精度的坑

echo (int)((0.7+0.1)*10);   // 輸出7
echo round((0.7+0.1)*10);   // 輸出8

注意:永遠不要相信浮點數(shù)結果精確到了最后一位,也永遠不要比較兩個浮點數(shù)是否相等。如果確實需要更高的精度,應該使用任意精度數(shù)學函數(shù)或者 gmp 函數(shù)。

扯機薄 回答

import openpyxl

wb = openpyxl.Workbook()
ws = wb.active

data1 = 'this '
data2 = 'is '
data3 = 'awesome.'

ws.title = 'first sheet'
ws['A1'].value = data1 + data2 + data3
wb.save('test.xls')

痞性 回答

因為重新調用innerHTML相當于覆蓋了之前的DOM結構,所以之前綁定事件的那個DOM就沒有了。
推薦可以了解一下事件代理,將click綁定在body上,判斷當前觸發(fā)元素是否為button即可。

淺淺 回答

密碼學非對稱加密,p2p,共識算法,分布式技術

款爺 回答

1.使用相應api直接生成(谷歌有)或者使用php rq code代碼生成原始二維碼
2.用imagecopymerge合并圖片生成新的帶logo二維碼

吢丕 回答

用 initWithCustomView: custom是定制,
你用的 initWithBarButtonSystemItem System是系統(tǒng)的。

純妹 回答

下面是我寫的python,我編程比較差。。。求更好的方法

import itertools
def main():
    list1 = ['A', 'B', 'C', 'D','E']
    list2 = [1,2,3,4]
    result = itertools.permutations(list1, 4)
    newlist = []
    for item in result:
        newlist.append(list(item))
    newnewlist = []
    for item in newlist:
        item[0] = [list2[0],item[0]]
        item[1] = [list2[1], item[1]]
        item[2] = [list2[2], item[2]]
        item[3] = [list2[3], item[3]]
    for item in newlist:
        print(item)
if __name__ == '__main__':
    main()
綰青絲 回答

事件機制了解一下

比如:onfire.js

擱淺 回答

你說的分層是服務器架構的意思吧,現(xiàn)在服務器一般都是分布式的。上層接入服務器,登錄服務器、聊天服務器等等這些與游戲邏輯沒啥關系的服務器,下層就是n個負責游戲邏輯的GameServer。游戲客戶端往往是跟一個接入服務器做數(shù)據(jù)交換,由接入服務器根據(jù)具體請求分發(fā)消息。

醉淸風 回答

你要看一下你的頁面參數(shù)名稱和實體bean中字段名稱是否一致,框架只是幫你解析你的http請求參數(shù),映射到你設置的對象里了。