第158章 內存榨乾:把五百K當五個G用的瘋子
紅崗花園地下室的空氣里,除了原本的霉味和煙味,現在又多了一股酸澀的電解液味道。
陳景明那塊軟包電池的成功,像是一針強心劑,扎進了這群快要猝死的工程師心口。
但這股興奮勁兒沒撐過十二小時。
「崩了。」
孫強把鍵盤一推,整個人往椅背上一癱,椅子發出不堪重負的嘎吱聲。
屏幕上是一串紅得刺眼的報錯代碼:`Stack Overflow`。
「內存溢出。」孫強抓著本來就不多的頭髮,指著屏幕上的數據條,「一共就512KB的內存。作業系統內核占了120K,TCP/IP協議棧占了200K,剩下的空間連加載字體庫都不夠,更別說跑圖形界面。」
他轉過頭,看著坐在角落裡敲代碼的蘇曉月。
「曉月,聽我一句勸。砍掉圖形界面吧。做成純字符終端,就像DOS那樣。雖然丑點,但能跑通。咱們只有二十天,現在已經過去一半了。」
蘇曉月沒理他。
她盯著屏幕上那個死循環的內存分配函數,眼圈黑得像被人打了兩拳。
「不行。」
「為什麼不行?諾基亞也是字符界面,愛立信也是!咱們憑什麼非要搞圖標?這硬體根本帶不動!」
「因為老闆說了,這是電腦,不是電話。」
蘇曉月終於停下手,轉過身。她手裡捏著半塊干硬的麵包,那是昨晚剩下的。
「如果是字符界面,老百姓看不懂,那就只能賣給工程師。要想賣給所有人,就必須是圖形化。」
「那是理想!」孫強急了,拍著桌子上的開發板,「物理限制擺在這兒!512KB就是512KB,你就是把這晶片磨出火星子來,它也變不成1MB!」
屋子裡的氣氛降到了冰點。
趙立在一旁不敢說話,他是做應用的,底層崩了,他寫再好的應用也是空中樓閣。
張漢玉推門進來的時候,正好聽到這句咆哮。
他手裡提著一袋剛買回來的冰鎮可樂,瓶壁上掛滿了水珠。
「吵什麼?」
張漢玉把可樂分給眾人,自己拉過一把摺疊椅,坐在孫強對面。
「內存不夠?」
「不夠。差得遠。」孫強指著那個紅色的報錯條,「除非把協議棧砍了,或者把GUI砍了。二選一。」
張漢玉擰開蓋子,喝了一口,涼氣順著喉嚨衝下去,激得人一激靈。
「都不砍。」
他拿起那支黑色馬克筆,走到白板前。白板上已經密密麻麻寫滿了待辦事項,他在角落裡擦出一塊空白。
「孫工,你覺得內存是什麼?」
「存儲數據的容器啊。」
「不,是倉庫。」張漢玉畫了一個方框,「數據是貨物。現在貨物太多,倉庫塞不下了。常規的思路是擴建倉庫,但我們沒錢,也沒硬體支持。」
他在方框門口畫了一個小圓圈。
「既然倉庫擴不了,那就把貨物變小。」
孫強愣了一下:「壓縮?」
「對。動態內存壓縮。」
張漢玉在圓圈裡寫了幾個字母:`Z-RAM`。
「數據寫入內存之前,先經過這個壓縮算法。讀取的時候,再解壓。用CPU的算力,換內存的空間。」
孫強和趙立對視一眼,都從對方臉上看到了「這人瘋了」的表情。
「老闆,你知不知道這會增加多少CPU負擔?」孫強把可樂頓在桌上,「ARM7的主頻只有33MHz!它跑系統都已經氣喘吁吁了,你還要讓它實時壓縮解壓?那系統會卡成PPT的!」
「不會。」
張漢玉回答得很篤定。
「因為我們要用的數據,大部分是重複的。比如屏幕上的像素點,大片的白色背景,用行程編碼(RLE)壓縮,幾百個字節能壓成幾個字節。文本數據用哈夫曼編碼,也能壓下去一半。」
「至於CPU負載……」張漢玉看向蘇曉月,「這就看你們的代碼水平了。」
「用C寫肯定不行。必須用彙編。」
蘇曉月突然開口。
她把手裡的乾麵包扔進垃圾桶,拉過鍵盤,調出了那個黑底綠字的編輯器。
「把內存管理模塊重寫。每一條指令都自己扣。不走系統調用,直接操作寄存器。」
孫強張大了嘴巴:「全部?那是幾千行彙編代碼!容易出錯不說,調試起來能要人命!」
「沒別的路了。」
蘇曉月已經開始敲擊鍵盤。
「要麼現在認輸,去跟宋志敏低頭。要麼就拼一把,把這顆CPU的潛力榨乾。」
鍵盤聲變得密集起來,像驟雨打在鐵皮屋頂上。
張漢玉拍了拍孫強的肩膀:「別愣著了。趙立負責把圖標素材做減法,能用16色就別用256色。孫強,你配合曉月,把TCP/IP協議棧里的冗餘代碼剔除,只保留最核心的握手和傳輸功能。」
孫強看著這兩個瘋子,咬了咬牙,罵了一句髒話。
「媽的,干就干!大不了這二十天不睡了!」
……
紅崗花園的地下室,徹底失去了晝夜的概念。
只有牆上掛鐘的指針在一圈圈地轉,和角落裡堆積如山的空可樂瓶在無聲地計數。
代碼行數在瘋狂增長。
蘇曉月的手指上纏著創可貼,那是長時間敲擊鍵盤磨出的水泡破了。
張漢玉不懂彙編,但他懂邏輯。他就坐在蘇曉月旁邊,盯著屏幕上的流程圖,隨時糾正邏輯錯誤。
「這裡不行。入棧出棧太頻繁,浪費時鐘周期。換成寄存器直接尋址。」
「這個循環沒必要。展開寫,用空間換時間。」
「這裡的判斷邏輯反了……」
三天。
整整三天三夜。
除了上廁所和扒兩口飯,所有人都沒有離開過那張桌子。空氣渾濁得讓人窒息,每個人身上都餿了。
第三天凌晨四點。
蘇曉月敲下最後一個回車鍵。
沒有報錯。
編譯通過。
生成的內核文件大小:380KB。
比之前足足小了將近一半。
「刷機。」
蘇曉月的聲音啞得像砂紙磨過桌面。
李建國早就準備好了,顫抖著手把那塊自製的開發板連上燒錄器。進度條緩慢地爬升,每一格都像是在爬過眾人的心尖。
滴。
燒錄完成。
張漢玉深吸一口氣,按下了那個微動開關。
屏幕黑了一下。
一秒。兩秒。三秒。
就在孫強以為又要失敗的時候,屏幕亮了。
沒有亂碼,沒有報錯。
漆黑的背景中央,一個由像素點組成的紅色火焰圖案,緩緩浮現。
那是星火科技的Logo。
雖然邊緣還有些鋸齒,雖然色彩只有簡單的紅黃兩色,但在這一刻,它比任何高清大片都要震撼。
緊接著,火焰散去,一個藍色的界面跳了出來。
左上角是信號格,右上角是電池圖標。中間整整齊齊排列著四個圖標:電話、簡訊、聯繫人、瀏覽器。
「臥槽……」
孫強捂住嘴,眼淚毫無預兆地流了下來。
真的跑起來了。
在512KB的內存里,跑出了圖形界面。
這是把大象塞進冰箱,而且大象還在冰箱裡跳起了踢踏舞。
「別急著哭。」張漢玉指了指桌上那根連著電腦串口的數據線,「還沒聯網。」
這是最後一道鬼門關。
如果沒有網絡,這也就是個高級點的電子寵物。
蘇曉月把數據線插好。另一頭的電腦上運行著一個模擬GSM網絡的伺服器程序。
她在開發板那小小的按鍵上操作著。光標移動,選中了「瀏覽器」。
點擊。
屏幕中央出現了一個沙漏圖標,開始旋轉。
「正在連接……」
地下室里安靜得能聽到排氣扇扇葉轉動的聲音。
所有人都屏住了呼吸。
這套自製的TCP/IP協議棧,能不能扛住真實的數據交換?那個瘋狂的壓縮算法,會不會在解壓數據包的時候崩潰?
屏幕閃了一下。
一行黑色的文字出現在白色的背景上。
`Hello, World!`
「通了!」趙立跳起來,腦袋撞到了低矮的天花板,但他根本顧不上疼,抱著孫強又蹦又跳。
「還沒完。」
張漢玉的聲音依然冷靜,但捏著可樂瓶的手指已經把塑料瓶捏變了形。
「文字只是第一步。宋志敏要看的是圖。」
他指了指電腦屏幕:「發那張圖過去。」
趙立趕緊在電腦端操作,選擇了一張16色的位圖。
那是張漢玉特意找人畫的——一隻在懸崖邊展翅的雄鷹。
發送。
開發板的屏幕上,沙漏轉得更快了。
數據流通過串口,經過壓縮算法,擠進那可憐的內存,再被CPU解壓,最後渲染到屏幕上。
這一過程在後世可能只需要幾毫秒,但在現在,卻是漫長的等待。
屏幕上方開始出現色彩。
先是藍色的天,然後是灰色的岩石,最後是那隻褐色的鷹。
一行行,一列列。
像是在慢慢揭開未來的面紗。
當鷹的翅膀完整地展現在屏幕上時,蘇曉月身子一軟,直接癱倒在椅子上。
成了。
真的成了。
他們不僅做出了圖形界面,還實現了圖片傳輸。
這台躺在雜亂電線中間的醜陋機器,此刻就是世界上最先進的智能終端。
「牛逼!」
李建國大吼一聲,抓起桌上的半瓶可樂就要噴灑慶祝。
就在這時,地下室的門被猛地撞開。
李建國還沒來得及噴,就看見另一個李建國——負責去華強北搞硬體集成的「分身」,滿臉灰敗地沖了進來。
他手裡捧著一個黑乎乎的東西,還在冒著青煙。
一股刺鼻的焦糊味瞬間蓋過了屋裡的酸臭味。
「怎麼了?」張漢玉心裡咯噔一下,猛地站起來。
「燒了……」
李建國把那個東西扔在桌上。那是一塊被燒穿的電路板,上面的晶片已經炸裂,露出了裡面的晶圓。
「GSM射頻模塊……燒了。」
李建國喘著粗氣,臉上全是黑灰,那是剛才試圖搶救時留下的痕跡。
「咱們的數據吞吐量太大,這玩意兒是給打電話設計的,根本扛不住持續的高頻數據傳輸。剛才我試著連續發了十分鐘數據包,溫度直接飆到一百度,然後就……」
他指了指那個冒煙的屍體。
「這已經是市面上能買到最好的模塊了。西門子的工業級。」
慶祝的歡呼聲戛然而止。
孫強的笑容僵在臉上。
蘇曉月掙扎著坐直身體,看著那塊廢鐵。
軟體通了,系統通了,電池通了。
結果死在了最基礎的通信模塊上?
沒有射頻模塊,這就是個遊戲機,根本不是手機。
「還有幾天?」張漢玉看著牆上的日曆。
那個紅色的圈,近在咫尺。
「五天。」
李建國的聲音帶著哭腔。
「只有五天了。去國外訂貨根本來不及,而且……咱們也沒錢了。」
死局。
真正的死局。
張漢玉盯著那縷青煙,煙霧在燈光下繚繞,像極了宋志敏那張嘲諷的臉。
五天。
造不出射頻晶片。
買不到合適的模塊。
難道就要倒在終點線前一米的地方?
「別慌。」
張漢玉把那塊燒焦的板子拿起來,指尖傳來的餘溫燙得嚇人。
他看著那個炸裂的晶片,腦子裡飛快地閃過無數種方案。
既然買不到……
「建國。」張漢玉抬起頭,眼神里透著一股狠戾,「把咱們之前拆回來的那幾台『大哥大』都拿過來。」
「你要幹嘛?」
「既然沒有路,那就拆了別人的橋,搭咱們的路。」張漢玉把板子扔回桌上,發出啪的一聲脆響。
「把摩托羅拉的模擬信號功放拆下來。我要手搓一個『混血』模塊。」
「模擬信號?」孫強驚叫,「咱們是數位訊號!這根本不兼容!」
「那就寫個轉碼器。」
張漢玉轉身,看向已經精疲力盡的蘇曉月。
「曉月,還能敲得動嗎?」
蘇曉月推了推滑落的眼鏡,把手放在鍵盤上。
「只要沒死,就敲得動。」
張漢玉嘴角勾起一抹瘋狂的弧度。
「好。那咱們就給宋志敏準備一份大禮。一份讓他這輩子都忘不了的『炸彈』。」
陳景明那塊軟包電池的成功,像是一針強心劑,扎進了這群快要猝死的工程師心口。
但這股興奮勁兒沒撐過十二小時。
「崩了。」
孫強把鍵盤一推,整個人往椅背上一癱,椅子發出不堪重負的嘎吱聲。
屏幕上是一串紅得刺眼的報錯代碼:`Stack Overflow`。
「內存溢出。」孫強抓著本來就不多的頭髮,指著屏幕上的數據條,「一共就512KB的內存。作業系統內核占了120K,TCP/IP協議棧占了200K,剩下的空間連加載字體庫都不夠,更別說跑圖形界面。」
他轉過頭,看著坐在角落裡敲代碼的蘇曉月。
「曉月,聽我一句勸。砍掉圖形界面吧。做成純字符終端,就像DOS那樣。雖然丑點,但能跑通。咱們只有二十天,現在已經過去一半了。」
蘇曉月沒理他。
她盯著屏幕上那個死循環的內存分配函數,眼圈黑得像被人打了兩拳。
「不行。」
「為什麼不行?諾基亞也是字符界面,愛立信也是!咱們憑什麼非要搞圖標?這硬體根本帶不動!」
「因為老闆說了,這是電腦,不是電話。」
蘇曉月終於停下手,轉過身。她手裡捏著半塊干硬的麵包,那是昨晚剩下的。
「如果是字符界面,老百姓看不懂,那就只能賣給工程師。要想賣給所有人,就必須是圖形化。」
「那是理想!」孫強急了,拍著桌子上的開發板,「物理限制擺在這兒!512KB就是512KB,你就是把這晶片磨出火星子來,它也變不成1MB!」
屋子裡的氣氛降到了冰點。
趙立在一旁不敢說話,他是做應用的,底層崩了,他寫再好的應用也是空中樓閣。
張漢玉推門進來的時候,正好聽到這句咆哮。
他手裡提著一袋剛買回來的冰鎮可樂,瓶壁上掛滿了水珠。
「吵什麼?」
張漢玉把可樂分給眾人,自己拉過一把摺疊椅,坐在孫強對面。
「內存不夠?」
「不夠。差得遠。」孫強指著那個紅色的報錯條,「除非把協議棧砍了,或者把GUI砍了。二選一。」
張漢玉擰開蓋子,喝了一口,涼氣順著喉嚨衝下去,激得人一激靈。
「都不砍。」
他拿起那支黑色馬克筆,走到白板前。白板上已經密密麻麻寫滿了待辦事項,他在角落裡擦出一塊空白。
「孫工,你覺得內存是什麼?」
「存儲數據的容器啊。」
「不,是倉庫。」張漢玉畫了一個方框,「數據是貨物。現在貨物太多,倉庫塞不下了。常規的思路是擴建倉庫,但我們沒錢,也沒硬體支持。」
他在方框門口畫了一個小圓圈。
「既然倉庫擴不了,那就把貨物變小。」
孫強愣了一下:「壓縮?」
「對。動態內存壓縮。」
張漢玉在圓圈裡寫了幾個字母:`Z-RAM`。
「數據寫入內存之前,先經過這個壓縮算法。讀取的時候,再解壓。用CPU的算力,換內存的空間。」
孫強和趙立對視一眼,都從對方臉上看到了「這人瘋了」的表情。
「老闆,你知不知道這會增加多少CPU負擔?」孫強把可樂頓在桌上,「ARM7的主頻只有33MHz!它跑系統都已經氣喘吁吁了,你還要讓它實時壓縮解壓?那系統會卡成PPT的!」
「不會。」
張漢玉回答得很篤定。
「因為我們要用的數據,大部分是重複的。比如屏幕上的像素點,大片的白色背景,用行程編碼(RLE)壓縮,幾百個字節能壓成幾個字節。文本數據用哈夫曼編碼,也能壓下去一半。」
「至於CPU負載……」張漢玉看向蘇曉月,「這就看你們的代碼水平了。」
「用C寫肯定不行。必須用彙編。」
蘇曉月突然開口。
她把手裡的乾麵包扔進垃圾桶,拉過鍵盤,調出了那個黑底綠字的編輯器。
「把內存管理模塊重寫。每一條指令都自己扣。不走系統調用,直接操作寄存器。」
孫強張大了嘴巴:「全部?那是幾千行彙編代碼!容易出錯不說,調試起來能要人命!」
「沒別的路了。」
蘇曉月已經開始敲擊鍵盤。
「要麼現在認輸,去跟宋志敏低頭。要麼就拼一把,把這顆CPU的潛力榨乾。」
鍵盤聲變得密集起來,像驟雨打在鐵皮屋頂上。
張漢玉拍了拍孫強的肩膀:「別愣著了。趙立負責把圖標素材做減法,能用16色就別用256色。孫強,你配合曉月,把TCP/IP協議棧里的冗餘代碼剔除,只保留最核心的握手和傳輸功能。」
孫強看著這兩個瘋子,咬了咬牙,罵了一句髒話。
「媽的,干就干!大不了這二十天不睡了!」
……
紅崗花園的地下室,徹底失去了晝夜的概念。
只有牆上掛鐘的指針在一圈圈地轉,和角落裡堆積如山的空可樂瓶在無聲地計數。
代碼行數在瘋狂增長。
蘇曉月的手指上纏著創可貼,那是長時間敲擊鍵盤磨出的水泡破了。
張漢玉不懂彙編,但他懂邏輯。他就坐在蘇曉月旁邊,盯著屏幕上的流程圖,隨時糾正邏輯錯誤。
「這裡不行。入棧出棧太頻繁,浪費時鐘周期。換成寄存器直接尋址。」
「這個循環沒必要。展開寫,用空間換時間。」
「這裡的判斷邏輯反了……」
三天。
整整三天三夜。
除了上廁所和扒兩口飯,所有人都沒有離開過那張桌子。空氣渾濁得讓人窒息,每個人身上都餿了。
第三天凌晨四點。
蘇曉月敲下最後一個回車鍵。
沒有報錯。
編譯通過。
生成的內核文件大小:380KB。
比之前足足小了將近一半。
「刷機。」
蘇曉月的聲音啞得像砂紙磨過桌面。
李建國早就準備好了,顫抖著手把那塊自製的開發板連上燒錄器。進度條緩慢地爬升,每一格都像是在爬過眾人的心尖。
滴。
燒錄完成。
張漢玉深吸一口氣,按下了那個微動開關。
屏幕黑了一下。
一秒。兩秒。三秒。
就在孫強以為又要失敗的時候,屏幕亮了。
沒有亂碼,沒有報錯。
漆黑的背景中央,一個由像素點組成的紅色火焰圖案,緩緩浮現。
那是星火科技的Logo。
雖然邊緣還有些鋸齒,雖然色彩只有簡單的紅黃兩色,但在這一刻,它比任何高清大片都要震撼。
緊接著,火焰散去,一個藍色的界面跳了出來。
左上角是信號格,右上角是電池圖標。中間整整齊齊排列著四個圖標:電話、簡訊、聯繫人、瀏覽器。
「臥槽……」
孫強捂住嘴,眼淚毫無預兆地流了下來。
真的跑起來了。
在512KB的內存里,跑出了圖形界面。
這是把大象塞進冰箱,而且大象還在冰箱裡跳起了踢踏舞。
「別急著哭。」張漢玉指了指桌上那根連著電腦串口的數據線,「還沒聯網。」
這是最後一道鬼門關。
如果沒有網絡,這也就是個高級點的電子寵物。
蘇曉月把數據線插好。另一頭的電腦上運行著一個模擬GSM網絡的伺服器程序。
她在開發板那小小的按鍵上操作著。光標移動,選中了「瀏覽器」。
點擊。
屏幕中央出現了一個沙漏圖標,開始旋轉。
「正在連接……」
地下室里安靜得能聽到排氣扇扇葉轉動的聲音。
所有人都屏住了呼吸。
這套自製的TCP/IP協議棧,能不能扛住真實的數據交換?那個瘋狂的壓縮算法,會不會在解壓數據包的時候崩潰?
屏幕閃了一下。
一行黑色的文字出現在白色的背景上。
`Hello, World!`
「通了!」趙立跳起來,腦袋撞到了低矮的天花板,但他根本顧不上疼,抱著孫強又蹦又跳。
「還沒完。」
張漢玉的聲音依然冷靜,但捏著可樂瓶的手指已經把塑料瓶捏變了形。
「文字只是第一步。宋志敏要看的是圖。」
他指了指電腦屏幕:「發那張圖過去。」
趙立趕緊在電腦端操作,選擇了一張16色的位圖。
那是張漢玉特意找人畫的——一隻在懸崖邊展翅的雄鷹。
發送。
開發板的屏幕上,沙漏轉得更快了。
數據流通過串口,經過壓縮算法,擠進那可憐的內存,再被CPU解壓,最後渲染到屏幕上。
這一過程在後世可能只需要幾毫秒,但在現在,卻是漫長的等待。
屏幕上方開始出現色彩。
先是藍色的天,然後是灰色的岩石,最後是那隻褐色的鷹。
一行行,一列列。
像是在慢慢揭開未來的面紗。
當鷹的翅膀完整地展現在屏幕上時,蘇曉月身子一軟,直接癱倒在椅子上。
成了。
真的成了。
他們不僅做出了圖形界面,還實現了圖片傳輸。
這台躺在雜亂電線中間的醜陋機器,此刻就是世界上最先進的智能終端。
「牛逼!」
李建國大吼一聲,抓起桌上的半瓶可樂就要噴灑慶祝。
就在這時,地下室的門被猛地撞開。
李建國還沒來得及噴,就看見另一個李建國——負責去華強北搞硬體集成的「分身」,滿臉灰敗地沖了進來。
他手裡捧著一個黑乎乎的東西,還在冒著青煙。
一股刺鼻的焦糊味瞬間蓋過了屋裡的酸臭味。
「怎麼了?」張漢玉心裡咯噔一下,猛地站起來。
「燒了……」
李建國把那個東西扔在桌上。那是一塊被燒穿的電路板,上面的晶片已經炸裂,露出了裡面的晶圓。
「GSM射頻模塊……燒了。」
李建國喘著粗氣,臉上全是黑灰,那是剛才試圖搶救時留下的痕跡。
「咱們的數據吞吐量太大,這玩意兒是給打電話設計的,根本扛不住持續的高頻數據傳輸。剛才我試著連續發了十分鐘數據包,溫度直接飆到一百度,然後就……」
他指了指那個冒煙的屍體。
「這已經是市面上能買到最好的模塊了。西門子的工業級。」
慶祝的歡呼聲戛然而止。
孫強的笑容僵在臉上。
蘇曉月掙扎著坐直身體,看著那塊廢鐵。
軟體通了,系統通了,電池通了。
結果死在了最基礎的通信模塊上?
沒有射頻模塊,這就是個遊戲機,根本不是手機。
「還有幾天?」張漢玉看著牆上的日曆。
那個紅色的圈,近在咫尺。
「五天。」
李建國的聲音帶著哭腔。
「只有五天了。去國外訂貨根本來不及,而且……咱們也沒錢了。」
死局。
真正的死局。
張漢玉盯著那縷青煙,煙霧在燈光下繚繞,像極了宋志敏那張嘲諷的臉。
五天。
造不出射頻晶片。
買不到合適的模塊。
難道就要倒在終點線前一米的地方?
「別慌。」
張漢玉把那塊燒焦的板子拿起來,指尖傳來的餘溫燙得嚇人。
他看著那個炸裂的晶片,腦子裡飛快地閃過無數種方案。
既然買不到……
「建國。」張漢玉抬起頭,眼神里透著一股狠戾,「把咱們之前拆回來的那幾台『大哥大』都拿過來。」
「你要幹嘛?」
「既然沒有路,那就拆了別人的橋,搭咱們的路。」張漢玉把板子扔回桌上,發出啪的一聲脆響。
「把摩托羅拉的模擬信號功放拆下來。我要手搓一個『混血』模塊。」
「模擬信號?」孫強驚叫,「咱們是數位訊號!這根本不兼容!」
「那就寫個轉碼器。」
張漢玉轉身,看向已經精疲力盡的蘇曉月。
「曉月,還能敲得動嗎?」
蘇曉月推了推滑落的眼鏡,把手放在鍵盤上。
「只要沒死,就敲得動。」
張漢玉嘴角勾起一抹瘋狂的弧度。
「好。那咱們就給宋志敏準備一份大禮。一份讓他這輩子都忘不了的『炸彈』。」