導航:首頁 > 源碼編譯 > win7編譯出現宏重定義

win7編譯出現宏重定義

發布時間:2022-05-28 21:05:40

❶ office2007安裝好後一打開word就出現宏設置不對,我是win7系統,求高人解答!

打開WORD,點擊OFFICE按鈕,WORD選項,載入項,最下方,管理:COM載入項,轉到,把裡面所有可用載入項全部取消,然後確定,關閉。重啟OFFICE之後就好了,我們宿舍3台電腦檢驗過,都可以

❷ 為什麼有時候編譯老是出現加入的系統頭文件出現錯誤啊

大凡在Windows平台下用C++做網路開發很多時候都會同時包含這兩個頭文件,如若順序不當(windows.h先於winsock2.h)就會出現很多莫名其妙的錯誤。諸如:

警告 4 warning C4005: 「AF_IPX」: 宏重定義 c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h 91
警告 5 warning C4005: 「AF_MAX」: 宏重定義 c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h 127
初看到如此一堆的錯誤委實不爽,但是只要將二者的包含順序調換一下問題就會解決,原因參見下面那個鏈接。另外,上述問題不僅影響直接包含二者的文件,還影響間接包含的情形。比如,a.h包含了windows.h,b.h包含了winsock2.h,如果在c.h當中要引用a.h和b.h,那麼正確的順序應當是b.h先於a.h。當然,實踐當中有時很難找到究竟是哪兩個文件順序不對了,終極的解決辦法是,在當前工程(就是編譯不過的這個工程)所有include語句最前面加上#include <winsock2.h>和#include<windows.h>,世界清靜了。

❸ winuser.h和resource.h宏重定義問題

跟你裝同時vc6和2010沒關系。找到你IDOK的按鈕把標識符改一下就成了,再把resource.h中的刪除掉。

❹ 我的win7裝好office2007後打開word怎麼總提示有宏設置

選擇控制面板中的添加刪除程序,選中office2007選擇添加或刪除功能,在對「office共享功能」的選擇項裡面,其中有兩個選項,一個是「VBA項目的數字證書」,另一個是「viral basic for applications」,可能是在自定義安裝時沒有安裝這兩個模塊,或者只選擇安裝了其中一個。知道了這個情況後,重新選擇並安裝上這兩個組件即可。

❺ 如何啟用windows7中的宏

2007的,點擊EXCEL界面左上角的office球一樣的按鈕,選擇擇最底部的EXCEL選項
然後【信任中心】->【信任中心設置】->【宏設置】
在宏設置中選擇啟用所有宏,下面的信任VBA對工程的……
確定就OK了

❻ Win7使用vs2017進行編譯和運行時彈出腳本發生錯誤

訪問者所使用的瀏覽器不能完全支持頁面里的腳本,形成「腳本錯誤」。遇到「腳本錯誤」時一般會彈出一個非常難看的腳本運行錯誤警告窗口,而事實上,腳本錯誤並不會影響網站瀏覽,因此這一警告可謂多此一舉。要關閉警告則可以在瀏覽器的工具菜單選擇Internet選項,然後單擊高級屬性頁。進入到瀏覽標簽,並選中「禁止腳本調試」復選框,以後你就不會再收到這些警告了。

建議您嘗試進行以下操作:
1、清除一下IE瀏覽器的緩存,點IE上的工具——然後再選擇最下面的Internet選項,再點Internet刪除文件(記得勾上刪除所有離線內容),確定後再重新打開IE瀏覽器試試,同時請確認您使用的是IE6.0及以上版本。
2、您的網頁上清緩存,在網頁上選擇工具->Interner選項->刪除Cookies和刪除文件,然後再確定。
3、請您點擊IE瀏覽器中的「工具」,選擇「internet選項」,進入「安全」頁面,點擊「自定義級別」,將您的安全設置設為「低」。
4、清空一下IE瀏覽器的cookies文件,在IE瀏覽器中設置「禁止自動腳本更新」,並不要選擇「禁止運行ActiveX控制項」,然後再嘗試操作。
也可以嘗試重新注冊下IE的組件,方法如下:
IE提示腳本錯誤解決方法:
1、點擊「開始」菜單,打開「運行」。
第二、輸入regsvr32 jscript.dll後選擇「確定」。
出現提示後,點擊確定。
第三、再次輸入regsvr32 vbscript.dll選擇「確定」。
再一次出現提示後,確定。
有時候,腳本錯誤也可以是你的瀏覽器本身有問題導致,嘗試修復你的瀏覽器,可以使用如黃山IE修復專家,超級兔子等第三方軟體對IE進行修復也可以解決問題。
腳本script是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。各類腳本目前被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。如果在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。

❼ c語言為什麼會出現錯誤:重定義,相同的基函數

我們以下面兩行代碼為例,描述:函數式宏定義:#defineMAX(a,b)((a)>(b)?(a):(b))普通函數:MAX(a,b){returna>b?a:b;}(1)函數式宏定義的參數沒有類型,預處理器只負責做形式上的替換,而不做參數類型檢查,所以傳參時要格外小心。(2)調用真正函數的代碼和調用函數式宏定義的代碼編譯生成的指令不同。如果MAX是個普通函數,那麼它的函數體returna>b?a:b;要編譯生成指令,代碼中出現的每次調用也要編譯生成傳參指令和call指令。而如果MAX是個函數式宏定義,這個宏定義本身倒不必編譯生成指令,但是代碼中出現的每次調用編譯生成的指令都相當於一個函數體,而不是簡單的幾條傳參指令和call指令。所以,使用函數式宏定義編譯生成的目標文件會比較大。(3)函數式宏定義要注意格式,尤其是括弧。如果上面的函數式宏定義寫成#defineMAX(a,b)(a>b?a:b),省去內層括弧,則宏就成了k=(i&0x0f>j&0x0f?i&0x0f:j&0x0f),運算的優先順序就錯了。同樣道理,這個宏定義的外層括弧也是不能省的。若函數中是宏替換為++MAX(a,b),則宏就成了++(a)>(b)?(a):(b),運算優先順序也是錯了。(4)若函數參數為表達式,則普通函數的調用與函數式宏定義的替換過程是不一樣的。普通函數調用時先求實參表達式的值再傳給形參,如果實參表達式有SideEffect,那麼這些SideEffect只發生一次。例如MAX(++a,++b),如果MAX是普通函數,a和b只增加一次。但如果MAX函數式宏定義,則要成k=((++a)>(++b)?(++a):(++b)),a和b就不一定是增加一次還是兩次了。所以若參數是表達式,替換函數式宏定義時一定要仔細看好。5)函數式宏定義往往會導致較低的代碼執行效率。看下面一段代碼:復制代碼代碼如下:inta[]={9,3,5,2,1,0,8,7,6,4};intmax(n){returnn==0?a[0]:MAX(a[n],max(n-1));}intmain(){max(9);return0;}若是普通函數,則通過遞歸,可取的最大值,時間復雜度為O(n)。但若是函數式宏定義,則宏為(a[n]>max(n-1)?a[n]:max(n-1)),其中max(n-1)被調用了兩遍,這樣依此遞歸下去,時間復雜度會很高。盡管函數式宏定義和普通函數相比有很多缺點,但只要小心使用還是會顯著提高代碼的執行效率,畢竟省去了分配和釋放棧幀、傳參、傳返回值等一系列工作,因此那些簡短並且被頻繁調用的函數經常用函數式宏定義來代替實現。

❽ 這個問題,C語言,一個關於頭文件重復定義的問題!!!

1.是鏈接出錯吧

不知道你有沒有手工編寫過makefile

這么說吧 C語言的編譯過程分為編譯和鏈接

編譯之前有一個預處理

編譯的最小單位是單個文件

也就說預處理的最小單位也是單個文件

假設工程中有 a.c b.c兩個文件 都包含了globle.h

那麼對a編譯的時候, globle只包含一次 生成的 a.o 中包含了 a_s32 b_s32(即你定義的變數)

對b編譯的時候同樣會包含globle.h 而且只包含一次

所謂只包含一次 是在單個c/cpp文件中只包含一次

這樣在object中就會有多個相同命名的變數被包含進去

鏈接的時候就會出錯

出錯不會出現在編譯過程中的

2.
可以包含任何語句

❾ windows宏定義問題

宏定義都用在頭文件中的。如果你自己去寫頭文件,其實宏定義的名稱是可以任意的。之所以有 __GNUC__、WINDOWS_H這樣的名稱,其實是為了程序刻度著想的。至於這些名稱代表的意義,從字面上來說,就是表示#ifndef 和 #endif范圍類的類的定義、全局變數的定義、函數聲明等等,是在這些頭文件中完成的。

之所以要宏定義是為了解決包含頭文件後可能引發的重復定義問題。
比如有兩個文件a.cpp和b.h,他們都包含了c.h頭文件(c.h中有個宏_XXXXX_),而且a.cpp包含了b.h文件。那麼在編譯的時候,編譯器掃描到a.cpp文件中的#include "c.h",就跳到c.h中,判斷,沒有定義_XXXXX_這個宏,那就就進行裡面的類的類的定義、全局變數的定義、函數聲明等等,然後跳回到a.cpp文件。接著掃描,看到#include"b.h",就跳到b.h文件中,掃描發現b.h也有#include"c.h",就又跳到c.h中,判斷,_XXXXX_這個宏,已經定義了,就不進行裡面的定義操作。

你可以自己這樣寫三個文件試一試,如果不給c.h頭文件加上宏的話就會引發重復定義的錯誤。

❿ 我打開WIN7的WORDSI時,出現「您正試圖運行的函數包含有宏或需要宏語言支持的內容.....怎麼辦

問題故障描述:
打開WORD文檔,提示需要宏語言VBA支持
解決方案一:word 2010
1.首先打開word選擇文件--選項

2.找到信任中心--點擊信任中心設置(如下圖)

3.找到宏設置--信任對VBA工程對象模型的訪問前面打勾確定(如下圖)

解決方案二:word 2003
第1步,運行Word2003,打開Word2003窗口。在菜單欄中依次單擊「工具」→「宏」→「Visual Basic 編輯器」菜單命令(如下圖)

第2步,打開「Visual Basic 編輯器」窗口,在菜單欄中依次單擊「插入」→「模塊」菜單命令

第3步,打開模塊窗口,在窗口中輸入三行代碼:
sub macrodm()
MsBox 「my macro」
End Sub
並在菜單欄依次單擊「文件」→「關閉並返回到 Microsoft Word」菜單命令。(如圖一)在Word窗口中依次單擊「工具」→「宏」→「安全性」菜單命令,打開「安全性」對話框。(如圖二)選中「低」單選框,並單擊「確定」按鈕(如圖三)
圖一

圖二

圖三

第4步,保存並關閉當前的Word文件,然後再次打開該Word文件。這時將不會提示用戶是否運行Word宏。

閱讀全文

與win7編譯出現宏重定義相關的資料

熱點內容
約束邊緣構件鋼筋加密綁扎 瀏覽:994
單片機的表 瀏覽:699
南京程序員噴香水事件 瀏覽:647
關掉伺服器為什麼還是被d 瀏覽:991
ip反查域名命令 瀏覽:299
編譯軟體c語言 瀏覽:143
大同壓縮機有限公司 瀏覽:68
什麼是win32編程 瀏覽:904
應用程序怎麼提取源碼 瀏覽:190
如何查詢公司網站伺服器地址 瀏覽:10
微博群里的圖片在哪個文件夾 瀏覽:274
半導體除濕壓縮機除濕 瀏覽:108
程序員失戀怎麼辦 瀏覽:727
怎麼把android編譯成mk 瀏覽:897
遺傳演算法個體變少 瀏覽:267
貨拉拉app在哪裡選收藏司機 瀏覽:543
如何從安卓轉移照片到ipad 瀏覽:499
馬士兵java全集 瀏覽:92
農行APP未付款訂單怎麼付 瀏覽:160
生成編譯 瀏覽:595