struct S{ int a; int b;};如果我們要給函數傳遞這個結構體的值有兩種方式,一種是直接之傳遞,一種是傳遞指標,傳遞指標的效率要優於值傳遞方式,並且值傳遞不能修改結構體本身,只能傳入資料。int function(struct S *s) { s->a = 12; s->b = 13;}但是我們如果想在函數體內修改結構體指標指向的地址就不行了。這裡我們只能使用指標的指標來做操作。int function(struct S *s) {
儘管 C 和 C++ 都已經有標準,但是幾乎每個編譯器 (廣義,包含連接器等) 擴充一些 C/C++ 關鍵字。合理地應用這些關鍵字,有時候能使我們的工作非常方便。下面隨便說說 Visual C++ 中 #pragma 指示符的使用。 一、用#pragma匯出DLL函數 傳統的到出 DLL 函數的方法是使用模組定義檔案 (.def),Visual C++
錯誤: No module named 模組名稱找不到模組,需要將模組添加到python的搜尋目錄中。方法一、在運行時添加參數--pythonpath="路徑"方法二、將路徑添加到path中。在settings.py中增加sys.path.insert(0,"path")方法三、安裝模組到python的dist-packages(有的系統是site-packages)檔案夾中錯誤:Module "django.core.context_processors" doesnot define
Open Inventor是SGI公司開發的基於OpenGL的物件導向三維圖形軟體開發包。使用OIV開發包,程式員可以快速、簡潔地開發出各種類型的互動式三維圖形軟體。OIV具有平台無關性,它可以在Microsoft Windows、Unix、Linux等多種作業系統中使用。OIV允許使用C、C++、Java、DotNet多種程式設計語言進行程式開發。TGS Open Inventorhttp://www.tgs.com/,TGS是商業軟體需要購買的。安裝TGS Open
一、求一個三十二位整數的位元中一的個數int count_ones(unsigned a){ a = (a & 0x55555555) + ((a>> 1)& 0x55555555); a = (a & 0x33333333) + ((a>> 2)& 0x33333333); a = (a & 0x0f0f0f0f) + ((a>> 4)& 0x0f0f0f0f); a = (a
安裝完成virtualbox後沒有辦法運行,並且安裝擴充也是失敗,這也是第一次碰到,想辦法解決之。錯誤提示資訊如下:VirtualBox:supR3HardenedVerifyDir:Cannot trust the directory "/opt/VirtualBox" : group and/or other writable
這幾天一直在做linux大批量資料的解決方案,不斷的深入瞭解了一下aio,epoll,libevent,boost::asio。以前只知道他們都是做非同步/非阻塞的,但是具體解決的問題的關鍵點是什麼,通過這幾天的深入瞭解,把他們總結一下:aio是linux2.6以後核心實現的非同步IO,或者說他才是真正意義上的非同步IO。epoll作為select的linux的替代品,解決了selectfd_set的限制。效能優於select。而在mac os