在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ C++問答
乖乖噠 回答

1. 關(guān)于 pyo 優(yōu)化:

參考鏈接

  • When the Python interpreter is invoked with the -O flag, optimized code is generated and stored in .pyo files. The optimizer currently doesn't help much; it only removes assert statements. When -O is used, all bytecode is optimized; .pyc files are ignored and .py files are compiled to optimized bytecode.
  • Passing two -O flags to the Python interpreter (-OO) will cause the bytecode compiler to perform optimizations that could in some rare cases result in malfunctioning programs. Currently only __doc__ strings are removed from the bytecode, resulting in more compact .pyo files. Since some programs may rely on having these available, you should only use this option if you know what you're doing.
  • Your program doesn't run any faster when it is read from a .pyc or .pyo file than when it is read from a .py file; the only thing that's faster about .pyc or .pyo files is the speed with which they are loaded.
  • When a script is run by giving its name on the command line, the bytecode for the script is never written to a .pyc or .pyo file. Thus, the startup time of a script may be reduced by moving most of its code to a module and having a small bootstrap script that imports that module. It is also possible to name a .pyc or .pyo file directly on the command line.

2. 關(guān)于 pyd:

pyd 可以理解為 Windows DLL 文件。

參考鏈接

  • Yes, .pyd files are dll’s, but there are a few differences. If you have a DLL named foo.pyd, then it must have a function PyInit_foo(). You can then write Python "import foo", and Python will search for foo.pyd (as well as foo.py, foo.pyc) and if it finds it, will attempt to call PyInit_foo() to initialize it. You do not link your .exe with foo.lib, as that would cause Windows to require the DLL to be present.
  • Note that the search path for foo.pyd is PYTHONPATH, not the same as the path that Windows uses to search for foo.dll. Also, foo.pyd need not be present to run your program, whereas if you linked your program with a dll, the dll is required. Of course, foo.pyd is required if you want to say import foo. In a DLL, linkage is declared in the source code with __declspec(dllexport). In a .pyd, linkage is defined in a list of available functions.
陌南塵 回答

在最前面全部聲明一下就行。

class class1;
class class2;

class class1
{
public:
    friend void Print(class1 &a, class2 &b);
};

class class2
{
public:
    friend void Print(class1 &a, class2 &b);
};
墻頭草 回答

socket也就是套接字,負責的是數(shù)據(jù)的傳輸,數(shù)據(jù)的格式和數(shù)據(jù)是否加密是根據(jù)具體協(xié)議來的。
比如http協(xié)議就不需要加密,但是https協(xié)議就需要加密了,如果你自己開發(fā)了一套基于TCP/IP的加密協(xié)議,那么就根據(jù)你自己的協(xié)議規(guī)則加密解密。

糖果果 回答

js拼接轉(zhuǎn)json提交。

歆久 回答

1.這個問題涉及到動態(tài)鏈接庫的3個不同的庫名的文件,一個link name,一個是so name,一個是real name,link name很好理解,就是編譯鏈接時使用的名稱,比如你的smbclient庫它的link name為libsmbclient.so,它的so name為libsmbclient.so.0,而real name為libsmbclient.so.0.x,“x”是什么要看你具體的版本。可以使用objdump -p /home/chenzhen/packSource/my_samba/libsmbclient.so | grep SONAME查看你重新編譯的smbclient.so庫的so name,我猜絕對是libsmbclient.so.0
2.gcc或者g++在生成可執(zhí)行程序時如果發(fā)現(xiàn)動態(tài)庫包含有so name則會把so name信息保留到可執(zhí)行文件中,可執(zhí)行文件在啟動時是使用so name去查找動態(tài)庫的,如果庫沒有so name則可執(zhí)行文件啟動時是使用link name去查找動態(tài)庫的。
3.理解了上面動態(tài)庫三個名稱文件的區(qū)別上面問題就很好解決了。你上面雖然在LD_LIBRARY_PATH中添加了/home/chenzhen/packSource/my_samba/你修改后庫所在的路徑,但是程序就是不加載這個目錄下的動態(tài)鏈接庫是因為程序啟動的時候搜索的so name,而不是link name,所以解決方案也很簡單,在/home/chenzhen/packSource/my_samba/目錄下創(chuàng)建一個so name的軟連接即可。
cd /home/chenzhen/packSource/my_samba/; ln -s libsmbclient.so.0 libsmbclient.so

故人嘆 回答

比起一般的C++和.net開發(fā)的桌面應用性能都很一般,也就無所謂比較了,而且都很占內(nèi)存。
不過非要選一個的話還是Electron比較好,可以更好的使用npm包,更方便的創(chuàng)建安裝程序。

還吻 回答

對于函數(shù)模板特化,目前公認的觀點是沒什么用,并且最好別用。Why Not Specialize Function Templates?

不過存在一些只允許特化的特殊場合:比方說在擴展std::swap時,標準約定只允許特化,不允許重載。Extending the namespace std

函數(shù)模板特化和重載在重載決議時有些細微的差別,了解一下這些差別還是有必要的。這些差別引發(fā)的效果中比較有用的一個是阻止某些隱式轉(zhuǎn)換。如當你只有void foo(int)時,以浮點類型調(diào)用會發(fā)生隱式轉(zhuǎn)換,這可以通過特化來阻止:

template <class T> void foo(T);
template <> void foo(int) {}
foo(3.0); // link error

雖然模板配重載也可以達到同樣的效果,但特化版的意圖更加明確。

舊言 回答
  1. 調(diào)用send, 只是把用戶態(tài)的緩存拷貝到內(nèi)核的緩沖區(qū)去, 至于內(nèi)核有沒有發(fā)出去, 是不知道的.
  2. 你調(diào)用send的時候, 內(nèi)核已經(jīng)告訴你他接收了多少數(shù)據(jù), 剩下的數(shù)據(jù)是需要你保存的.
    至于內(nèi)核啥時候有空間讓你繼續(xù)寫, 這就需要多路復用, 比如poll/epoll, 有可以寫的空間了, 內(nèi)核會告訴你, 你這時候再去寫.
    至于查詢還有多大的緩沖區(qū), 我記得是可以的, 應該是ioctl. 不過不推薦你這么寫程序, 這樣一次系統(tǒng)調(diào)用只會降低程序的性能.
我甘愿 回答

除了上面大神給的正則以為,還可以在onchange事件里,判斷當前輸入的長度,有多少個長度,就再設一個參數(shù),那個參數(shù)就有多少個*。代碼如下:
// 密碼輸入框事件

onpwdChange(e) {
    let password = e.target.value;
    let pad = '';
    for (let i=0;i<password.length;i++){
        pad=pad+"*"
    }
    this.setState({
        password: password,
        pad:pad,
    })
}
短嘆 回答

不鼓勵這種做法,這種做法導致同一個數(shù)據(jù)狀態(tài)存在多個副本,這會引入額外的維護成本,并且容易導致狀態(tài)不一致問題,引起很多麻煩。

一開始寫代碼,并不需要刻意做這樣的優(yōu)化。
提前做這種犧牲代碼可維護性、增加復雜度的優(yōu)化,壞處大于好處。
因為它一定會帶來一些壞處,但并不確定是否真的帶來一些好處。

你覺得它會提升性能,這只是理論上,實際運行起來到底提升多少,有多少收益。
和編譯優(yōu)化、業(yè)務流程、硬件平臺都有很大的關(guān)系。

后續(xù)如果是真的需要優(yōu)化代碼,可以通過性能分析工具找出瓶頸點,有針對性的優(yōu)化。
并且優(yōu)化方式也不一定是增加幾個“中間變量”這種方式。

你好胸 回答

擁有純虛函數(shù)的類,是抽象類,不可以實例化對象;
純虛函數(shù)可以有函數(shù)體,對于使用的確是沒有意義,但是可以為子類實現(xiàn)這個純虛函數(shù)提供實現(xiàn)參考。

慢半拍 回答

clipboard.png
應該是你沒有掛載上

紓惘 回答

已解決??!Fortran生成dll時沒配置,默認生成32位的dll了。而我的QT程序是64位的,我又重新把dll生成64位的沒問題了

撿肥皂 回答

c++版藥丸...一天都沒人回答...果然沒什麼人留下來了...回答的答案也沒有人搭理...

它已經(jīng)提示你了嘛, 你的字符串"朱明"的類型是const char*, 至於爲什麼是這個類型呢?

因爲c++的string literal("朱明")是不可修改, 從c++11開始就只能用以下兩種方法聲明了:

  • const char* str = "朱明";
  • const str指向具體實現(xiàn)中的text segment, const保護了此數(shù)據(jù)`

or

這兩者的目的都是爲了保證text segment中的數(shù)據(jù)不被修改. 原因窩在註釋中解釋了.

如果你的形參(parameter)是char *, 那麼傳進來的參數(shù)不就有了被修改text segment(這裏是string literal)"朱明")的危險, 所以爲了安全期間, c++11開始ban了這樣的方式,

當然, 你可能會有這樣的亦或:

窩明明形參(parameter)的類型是char[]不是char*呀.

其實呢, 這該c背鍋, c風格的字符串在c++裏面不是一等公民, 或者說first-class, (這裏有人會誤解或者說是因爲字符串或者函數(shù)他們不是base type, 而是derived type, 所以不能做到傳值, 不, 不是這樣的, struct同樣是derived type, 它就能傳值, derived type僅僅是composite typealias, 和first-class是無關(guān)的.

換而言之, 它不能作爲參數(shù)傳遞, 再換而言之, 它不能在傳參時進行深拷貝, 它能做的只是傳指針, 同樣的道理, 如果你想將函數(shù)傳遞, 在c語法裏面也只能傳函數(shù)指針, c++11開始能用struct來模擬lambda實現(xiàn)真正傳遞函數(shù)的功能.

好, 饒了一圈, 回答剛剛那個問題, 現(xiàn)在你應該明白了, 你這裏的形參char[]不得不退化成char*了, 其實vs的提示也暗示你這個信息了. 你的解決辦法有這麼幾種:

  1. 只用std::string/std::wstring
  2. 形參: 改成const char*/char const *

其實很早以前人們就發(fā)現(xiàn)text segment在這種情況下被修改會很危險, 但是c這貨一直不高興寫進標準來規(guī)定, 不過posix倒是弄了個strdup(3), 然後c才也跟著糊了個出來, 貌似posix不嚴格要求帶error code, 後來把may改成shall了. 那麼cppreference的表述就出錯了...或許窩該去改下cppreference...更新: 改好了...

所以跟我大聲唱:

Pointer is shit, C is shit.

Update:

補充下標準中(n4741)的wording:

clipboard.png

diff在這裏可以看到
http://www.open-std.org/jtc1/...

醉淸風 回答

光這樣肯定看不出來的.
需要使用windbg工具, 來看棧幀的情況. 才容易看出.

護她命 回答

你這樣同時發(fā)送三個請求到一個接口,真的是太耗費網(wǎng)絡資源了。請求接口,網(wǎng)絡連接,接口響應 都需要時間。

我覺得,你可以跟后端開發(fā)商量,添加一種傳參方式。

目前,你傳的是單個對象,你可以讓后端添加一種傳遞數(shù)組的方式,數(shù)組里包含 N 個你想獲取的數(shù)據(jù)參數(shù)。

(手機打字,有問題請回復我......)

情未了 回答

definition處改成這樣:

LinkStack<T>::LinkStack(const LinkStack<T>& a)

另外你把代碼貼貼好行嗎...