查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
LiuRambo

 發表於 2016-9-15 11:36 PM

找到原因了

因為原本專案一直都是由一人處理
現在多了我 環境完全不同 元件等都需要處理
所以一堆錯誤導致無法在我電腦上作專案建置
然後當程式進入除錯模式時 眼前所看到的程式行與實際執行的還是遠端電腦debug目錄下的程式就完全不相符合
所以才會出現許多不能理解的怪異狀況
當我將所有錯誤全部排除後 將發布路徑設定在我單機 然後重新建置專案成功
除錯模式就完全正常了


Adsmt

 發表於 2016-9-14 03:20 AM

因為 compiler 會最佳化,你迴圈內沒東西,所以就沒進去了。
事實上這個程式被最佳化後可能完全沒有跑就結束了,你試著中間做一些事再看看。

舉例來說吧,像下面這個程式:
a=0
for i=1 to 5
  a++
next
print a

被最佳化後會變成:
a = 5
print a

迴圈整個不見了。這個在做動畫的時候就可以感受到了,例如你要用迴圈慢慢改變座標來移動一個圖形,結果會發現它只會把圖形印在最後的位置,不會有你預期中慢慢移動的效果。

在compiler設定那邊應該可以取消最佳化,應該就能看到你想要的結果。


陽だまり

 發表於 2016-9-11 11:59 AM

不太了解上面的1、2、3、5是怎麼得來的
是指要傾印出i嗎

如果是的話,假設把傾印放在next上面的話
應該是i應該是0、1、2才對
因為i為3時,等於A,就會離開for迴圈了不是


LiuRambo

 發表於 2016-9-11 11:01 AM

之前一直使用VS2008來寫VB程式 也很習慣使用除錯模式來看程式
最近換了新公司 有安裝VS2015 想說來試試看
結果卻令我非常苦惱
請看以下範例:
1:A = 3
2:FOR i = 0 to 6
3:if i = A then
4:  exit FOR
5:endif
6:NEXT

以2008來跑偵錯
順序會是1->2->3->5->2->3->5->2->3->5.......->6

可是當我用2015時
順序卻不一定是照邏輯上要略過4
反而可能是1 2 4 1 2 4
我之所以說可能 是因為看到幾個迴圈都不是一致性
然後奇怪地當迴圈執行中 明明看到i已經是等於3了 但卻沒有進入4去執行
反而繼續跑到迴圈結束(重點是沒有依照3的指令進入4)
害我多花了一天的時間抓到這奇怪的事情
後來解決方法 竟還是拿2008來執行
結果一切正常!!!

是我太笨不會用VS2015嗎
用了幾天發現以寫作環境其實很方便好用的勒
換回2008還真是也點不習慣

[LiuRambo 在  2016-9-16 12:47 PM 作了最後編輯]





所在時區為 GMT+8, 現在時間是 2024-3-29 09:38 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.013667 second(s), 7 queries , Qzip disabled