2015年1月23日 星期五

那些msvc的dll檔

之前跟同事討論VisualStudio C++會相依於那些dll檔案
 雖然知道dll,lib是甚麼,但是對於C++所使用的基本funcion們到底是放在哪邊就不是很了解
正好看到這篇說的還不錯
相依的dll檔案會跟專案的組態設定有關係,主要分為動態靜態跟是不是debug模式
還有分不同的msvc版本
說明這些dll跟lib的功能,為什麼會搞得這麼亂七八糟跟變成這樣的原因(為了解決甚麼樣的問題)。也說明如何改變專案依賴的lib
http://blog.monkeypotion.net/gameprog/beginner/love-and-hate-between-msvc-and-crt
其實這篇文章的開頭是基於解決一些dll版本衝突所可能造成的link error
這樣的error很常見,但是看debug資訊無法解決,主因是使用的dll檔中可能相依於某個lib但是專案本身又相依於另一個衝突的lib。使得同一個function有多個實現,不知道要採用何者。
這篇文章也提供了幾個解法
1.使用不同組態編譯的dll(前提是要有辦法取得)
2.改變本身專案組態設定(因為通常dll已經無法改變)
3.在link的時候忽略程式庫(可以參考原文推文)


順道筆記一下msvc有提供偵測memory leak的工具(之前面試有被問過要怎麼處理memory leak的問題)正好同事有說有工具,估狗了一下
http://stackoverflow.com/questions/45627/how-do-you-detect-avoid-memory-leaks-in-your-unmanaged-code

Caster angle

在看完雪板教學的影片之後一職在思考,為什麼要把重心放在前腳?想到之前好像有學過為什麼腳踏車或機車的前叉會往後傾斜的原因。這問題在我腦袋裡運轉了一陣子,想出了個大概的脈絡,今天再上網Google查到這篇,感覺講得還不錯(跟我想得很像XD~)
 
大概就是假設讓"轉向軸"延伸到地面的投影P,輪胎與地面的實際接觸點C
使P點在C點的前面,達成動態平衡
假設前進方向是前方
在P在C前面的狀況下,當C向右偏移C受到的向後的摩擦力可以產生cw方向的力矩,使C回到P後方
反之若C在P前面,則C受到的向後摩擦力會產生一樣產生cw方向的力矩,但此狀況下會使C更加偏離中線
一種是單擺,一種是倒單擺,單擺是負回饋,倒單擺是正回饋
但影片中也有提到,C距離P越遠越穩定,但同樣的,改變方向也就越困難
看了這個影片的額外收穫是,原來汽車也有這種機制阿!

 


2015年1月21日 星期三

攀岩

最近又開始研究攀岩
 
看了一個覺得不錯的影片

裡面教了一些基本動作,可以幫助在攀爬的時候維持平衡,避免開門
基本上是讓踩岩壁的腳靠著岩壁,抓岩壁的手肩膀維持在外側,其他是本來就知道的手臂打直(至少在腳跟身體到位前)
1.避免攀爬的時候髖部跟地面一直維持平行
髖部一直與地面平行,不可避免地就會用手臂的力量將自己往上拉,花費許多力氣
藉由旋轉髖部可以不必彎曲手臂的溝到遠方的點
2.當可以使用的腳點比較小可以使用一些outside edge的技術
使用outside edge可以避免同手同腳的問題,一開始會有一種想出重心腳的異側手的衝動,但這樣將導致同手同腳的支撐,產生開門的狀況(或是要花很大的力氣避免開門)
ps:開門的原因是因為連成一條線的同側手腳,無法抵抗來自重心的重力所產生的力矩,整個身體因為受這個力矩而旋轉
在作outside edge的時候以一隻手抓住岩點,並側身使抓住岩點的手為外側手。以異側腳(此時為內側腳)的鞋尖外側踩腳點,另一隻腳(此時為外側腳)向前伸頂住岩壁,作為手腳以外的第三點支撐,抵抗重力所產生的力矩。這時候可以的話身體可以為向後傾,使得整個結構更穩定。
3.當岩點無法以異側腳直接踩到(可能需要做換腳的動作,耗費時間與體力)。此時可以使用同手同腳去抓和踩岩點,這個動作稱為flag。此時踩點的腳會是外側腳,以外側腳的腳尖內緣踩點,抓點的手也為外側手。為了避免開門,需要向前伸出異側腳以維持身體的平衡。最好在flaging的動作到位之後在放開另一隻要抓點的手去往上伸,在這個過程中,在較高位置的支撐手最好可以一直保持伸直的狀態。
4.當有兩個腳點可以用的時候,可以使用drop knee。使用drop knee的時候也是要避免髖部一直與地面平行(以免使用手臂的力量)藉由將原本只向牆壁的膝蓋向支撐手的方向旋轉,這時支撐手會變成外側手。旋轉的動作會對兩個腳點產生向外的力。在旋轉膝蓋之前,支撐手要保持伸直的狀態,待旋轉之後才出手抓點,此時支撐手可能會彎曲
如果腳點很高(可以高到跟手點一樣高),要讓手肘在膝蓋的外側,可以避免膝蓋旋轉的時候被手肘卡住

2015年1月9日 星期五

安達太良雪板之旅-第一天

blogger還不錯,可以打到一半自動存檔,拯救了很多差點胎死腹中的小孩

一開始goofy在離開租板處前面的小斜坡有稍微介紹一下,這個坡很平,就一兩度吧。但也因為太平了滑不大動

在那邊把雪板穿起來,試著站著,不會太難站起來,但一不小心就會跌坐在地上。因為當你前後失去平衡的時候沒辦法伸出一隻腳來維持平衡,就一屁股坐在地上。雪是軟的,也沒有很冷,我們來的這天雪還在下呢!~goofy把後腳從雪板上脫下來,推著雪板前進。但是我一直覺得這種前進方式一不小心,板子造成的強大力矩就可以把小腿骨折斷@@~太恐怖了,尤其是掛在纜車上的時候

第一次坐滑雪纜車,纜車站有個人在管控遊客的上下,順道清掃纜車椅子上的積雪。說是纜車,準確的說其實是吊椅,一張吊椅可以做兩個人。因為調椅並不會停下來,所以上車的時候要再吊椅接近的時候一屁股坐上去,或是用手往後摸吊椅屁股在順勢坐上去。總之一開始上的不是很順,吊椅還為了我們兩個停了一下下。

兩個人一起做吊椅還真的是蠻不錯的,再紛紛細雪當中,帶著往坡頂前進的興奮期待與緊張不安,就像初戀的滋味一樣(?)又好像世界只剩下這張椅子,一切是那麼的寂靜(還是因為纜車太吵)。這段400公尺也是要搭蠻久的,中間有一陣地傳來浪漫音樂與不知所以然(應該不是說吊椅快斷掉了快跑之類的吧)的廣播聲。

到頂了之後要下車...要怎麼下呢?觀察了一下前面的人,恩...下車的地方有個斜坡,把雪橇順著斜坡網上放平,再順著斜坡溜下來就可以了,感覺好簡單啊!~but...我的是雪板啊!!沒關係,前面一個是穿雪板的,把套在前腳上的雪板調整成跟前進方向平行,順是上坡,在順坡而下!~but...我們的板子都拿在手上QQ~只好吊椅一到坡頂就趕快跑,but吊椅離地面太近了,還沒站起來又被緊追而上的吊椅打個正著><~一屁股又跌回吊椅上面。幸好機警的控制員按下了停止鈕,不然我們就要原機遣返了XD~

終於來到坡頂,往左是比較難,比較斜的大斜坡,當然我們選了往右的路線。在坡頂花了一些時間把雙腳固定在板子上,觀察一下旁邊的人,似乎都羞羞羞得下去了。穿好雪板,先把板子跟斜坡垂直站了起來,因為穿鞋的地方太平了,不大會移動,只好像(就是)雙腳被綁住的人質一樣往前奮力地跳(出乎想像的容易跳XD~)中於是來到斜坡前面了, 心理有種踏往未知的莫名緊張。這個下坡有兩段,第一段比較短,大概50m吧,第一段結束之後有一個右轉彎的平台緊接著是300m的大下坡,下坡的尾端又是一個微右轉。要玩這個滑道一定要會轉彎的,不然第二段下玩絕對會飛進旁邊的健行步道裡面。

觀察了一下決定開始往下滑,恩恩,也不是很困難嘛,很容易維持平衡的!!~也蠻有速度感的,很爽!!but wait...速度越來越快,是要怎麼停下來啊??~喔喔 對了,往旁邊轉嘛!不過要怎麼轉呢?不管怎麼try板子還是直直地往下跑><~好吧 沒招了只能彈跳逃生了...but腳牢牢地釘在板子上,完全沒有機會啊阿阿!為了避免高速衝撞,只好趕緊利用地板的摩擦力(還是說雪的阻力)來減速,重心壓低,用手摸地板@@~好吧,有點在轉彎,但速度依然減少不了多少...突然間不知怎麼的一陣天旋地轉...恩 之前聽人說過雪場的雪會被壓得很硬,不過看來這裡的雪還好,跌倒也不大痛,可能是因為雪還下著吧?正好也停在轉彎的平台上@@~

大家似乎有都停在這裡,因為失去動力只能又開始用跳的@@~goofy覺得之前租板店前面的波不夠斜,在這裡開始跟大家說要怎麼玩雪板XD~一開始要先坐著,板子跟斜坡方向垂直,一開始最好是面對坡底。接著站起來並且把力量放在腳後跟上面,應該板子就可以不會往下滑了。接著在控制板面跟坡的角度,慢慢把腳尖往下壓,讓板子跟坡接近平行,就可以往下滑了。看著goofy邊說邊控制板子開始滑,停下來。板子是以一種神奇跟坡垂直方式再前進XD~蠻有趣的。

想說也來試試看,先跟斜坡垂直坐著,把重量放在腳後跟,站起來...ㄚㄚㄚ~~~板子還是不斷的往下加速,奇怪,難道是重心不夠後面嗎?於是我試著把重心往後。碰!~又一屁股坐在雪地上,後來經過一陣亂試,才知道好像是要做勾腳尖的動作,重心還是要維持在中間。不過這已經是接近中午,經過無數慘叫跟摔倒之後的事情。有時候板子並不會乖乖直直的往下,而是邊往下,邊往旁邊華過去,就快要衝進樹叢。因為賽亞有說過這些看起來在雪地上面的樹,其實下面都有很深一段埋在雪底下。所以每次靠近樹叢我都非常的驚恐@@~琛怕會從樹梢摔下去(被旁邊的雪活埋之類@@~)一有靠近樹的跡象,一定會不顧一切的跌倒,在驚慌失措地爬著離開。

著個雪場是通往日本百大名山,說是百大名山,海拔也才1700m而已。慢慢地,我學會面朝下,板子方向跟下坡方向垂直,慢慢的嚕下去(其實是不斷的剎車@@~)說慢其實也不慢,溜一陣子之後還是得靠跌倒來減速。但這不是最大的問題,問題是沒辦法控制往下的方向。就這樣慢慢無奈地朝著右轉彎左邊的邊坡滑過去,正好是安達泰良山的登山口。冬天積滿了雪來爬山的人還是蠻多的耶。似乎很多人都會撞到這邊來,雪道跟登山口之間還有架了一個網子。

過了中午了,似乎還沒有很大的進展,但是在外面待久了,又餓又冷,還是忍不住要去滑雪小屋吃午餐了。終於會到室內,手都凍僵了,屁股也因為太常跌倒,被雪弄得溼答答的...毛帽上跟靴子上也都積滿了雪,要在進室內之前把他們全部都抖掉,不然進了室內融化成水就慘了。這裡的午餐是用餐券販賣機賣的,果然,世界各國的旅遊景點東西都比其他地方貴。沒甚麼料的麵(醬油拉麵)竟然要價700多羊...昏倒。一些飯還都賣完了><~不過外面這麼冷,吃一碗閒閒的熱拉麵真的是超爽!~吃完麵賽亞還說要吃冰淇淋@@~天啊,天氣這麼冷...這裡的現做冰淇淋不便宜,一隻300羊,不過真的是好吃!濃郁又吃的到果香(甚麼口味呢@@?忘了)吃起來也不會覺得很冷!是說日本有個有趣的地方,不管到哪裡,即使像這邊一樣外面下著雪,店家提供的茶水依然是冰水...喝起來比冰淇淋還要冰~酒足飯飽之後,想說趴在桌上小休十分鐘...沒想到真的有累到,睡到桌上流了一攤口水@@~其他剛剛還在外面華的夥伴也進來吃飯了!

下午的時間沒有剩多少,雪場只開到1630~為什麼沒有夜間滑雪><~只好把握下午的時光。賽亞滑了一下決定從雪板換成雪橇。說是一直沒辦法抓到雪板的訣竅,又摔了幾下很重的(雖然大部分的跌倒不大痛,但太大力還是會有腦震盪的fee)其實摔到下午,膝蓋也是隱隱作痛,不過可能因為每次摔倒都會順便冰敷一下,感覺沒有大礙。下午似乎多了一些新手在滑,人變得比早上更多,看幾個日本女生摔得亂七八糟的。還有一個胖胖的小朋友,有時候看起來滑的不錯,有時候又摔得很大力XD~
下午我們突然發現一個bug...那條讓我們方便背板子,連載左右腳中間的繩子其實是要拆掉的!!!這條繩子會改變板子的抓雪能力..天啊,那我整個早上是摔辛酸的@@~難怪怎麼煞車都停不下來(牽拖中..)這時候正好看到一個女生,用跟我一樣的初學者垂直姿勢往下滑,不過有點不一樣的是,他有時候向左飄,有時候像右飄,這樣就不會像我一樣一直往同一邊撞了。觀察了一下,再向左飄時候,如果要減速,就在把方向更往左打朝上坡的方向滑就可以順利減速了,轉彎感覺就跟新手溜冰依樣,轉動上半身方向就會慢慢(真的很慢)跟上了。試了一下,真的可以慢慢有控制的滑,先是向斜下方滑,到快到旁邊在轉成斜上,停止之後再換另一邊當頭,繼續往下前進。雖然有時候還是會控制不住而撲街,但總算能順利有控制的下到底了!~
太陽很快就下山了,其實一開始雪板真的是全身運動,因為不知道怎麼滑,什麼樣奇怪的動作都作了搞得大腿腰背全身痠痛,膝蓋也因為一直跌到雪裡,隱隱作痛@@~看來是時候回溫泉補血了XD~

2015年1月7日 星期三

登山照明

這次去爬北大武前猶豫了很久要帶哪種燈
基本上燈可以分為聚焦形跟泛光型
一般看到的便宜手電筒做聚焦的多
現在的CREE XML配上18650 3.7v鋰電池真的是有夠亮!
但因為是聚光形,雖然找路夠方便但是缺點是腳下看不清楚
另一種泛光形,像是山上遇到的阿仁用的finex或是ultra fire或是我把便宜頭燈前面的聚光單凸透鏡翻面都是泛光形的。雖然可以看清腳下,但是缺點要不是浪費電就是亮度不夠,晚上不好找路。
這次快天亮的時候獨自從檜谷山莊摸黑到3.8k斷崖看星星(後來水氣太重沒星星QQ~)就是用改裝便宜頭燈配合高亮度聚焦手電筒(把聚焦頭燈拿在手上)暨能看清腳下,路也看得清楚。燈拿在手上也可以避免閃到對面的山友,是不錯的組合,遠近兩相宜!不過就是裝備重了一些
如果是團隊登山,也許可以打遠的聚焦形照明只需要一隻,給帶隊的人使用,其他人用泛光形的,有利行走,在營地使用也比較不會閃到隊友。