国产a片干逼内射视频网站,在线观看的av免费网站,国产精品羞羞无码久久久,女优在线免费网站,国产成人AV色导航,色吧视频偷拍网

要聞 戲曲 書畫 數(shù)藏 教育 非遺 文創(chuàng) 文旅 人物 專題

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

重慶購物狂網(wǎng) 李勝英 2025-11-03 12:46:17
A+ A-

原私募董事長跑路卷款跑路英國,自述精準(zhǔn)踩到每個坑! 《無畏契約手游》預(yù)約開啟 IT之家 1 月 11 日消息,B站近期宣布以 26.65 美元 / ADS 的價格,發(fā)行 15,344,000 股美國存托股(ADS),募集總款項(xiàng)約 4.1 億美元。本次發(fā)行 ADS 所得款項(xiàng)中,部分用于回購公司 2026 年 12 月到期的可轉(zhuǎn)債,回購票面價總額 3.85 億美元,剩余所得款項(xiàng)將用于為公 2022 年第四季度進(jìn)行的可轉(zhuǎn)債回購再融資,及充盈公司的營運(yùn)資金。2022 年第四季度,B站回購了票面價值總額 5.5 億美元的可轉(zhuǎn)債(包括 2026 年 12 月到期的可轉(zhuǎn)債和 2027 年到期的可轉(zhuǎn)債)。報(bào)告顯示,本次交易丙山 2023 年來美股中概股第一單新股發(fā)行融資。交易完成,公司負(fù)債率將大幅降低資產(chǎn)負(fù)債表將顯著改善。來,B站將持續(xù)專注業(yè)務(wù)長期健康發(fā)展,關(guān)注降本增,持續(xù)提升商業(yè)化能力。哩嗶哩近期在港交所公告稱公司 2022 年前 9 個月凈營業(yè)額約 157.57 億元,同比增加 15.8%;毛利潤約 26 億元,凈虧損約 60.11 億元。IT之家了解到,嗶哩嗶哩在 2022 年三季度的日均活躍用戶數(shù)(DAU)為 9030 萬,月均活躍用戶數(shù)(MAU)為 3.33 億,分別同比增長了 25%。平均每月付費(fèi)用戶數(shù)(MPU)為 2850 萬,同比增長 19%。什么是可轉(zhuǎn)債?可轉(zhuǎn)換債券是券持有人可按照發(fā)行時約的價格將債券轉(zhuǎn)換成公司普通股票的債券。如果債持有人不想轉(zhuǎn)換,則可以續(xù)持有債券,直到償還期時收取本金和利息,或者流通市場出售變現(xiàn)。如果有人看好發(fā)債公司股票增潛力,在寬限期之后可以使轉(zhuǎn)換權(quán),按照預(yù)定轉(zhuǎn)換格將債券轉(zhuǎn)換成為股票,債公司不得拒絕。該債券率一般低于普通公司的債利率,企業(yè)發(fā)行可轉(zhuǎn)換債可以降低籌資成本。可轉(zhuǎn)債券持有人還享有在一定件下將債券回售給發(fā)行人權(quán)利,發(fā)行人在一定條件擁有強(qiáng)制贖回債券的權(quán)利 感謝IT之家網(wǎng)友 Savokiii、西南偏南、OLD_KING、旺仔北北、靜待繁華、kasiet、云浮千秋、航空先生、隨心遠(yuǎn)行""、派大星星、暗里有光、小亞、 的線索投遞!IT之家 1 月 6 日消息,特斯拉今日除公布全新 Model S 與 Model X 中國市場售價外,還宣布 Model 3 與 Model Y 迎來價格調(diào)整。其中,Model 3 后輪驅(qū)動版 22.99 萬元起售,Model Y 后輪驅(qū)動版 25.99 萬元起售。乘聯(lián)會數(shù)據(jù)顯示,2022 年特斯拉上海超級工廠全年交付超 71 萬輛,同比增長 48%。IT之家了解到,特斯拉稱 2023 年將向更高目標(biāo)發(fā)起沖刺。具體來看,Model?3 包括后輪驅(qū)動版(起售價 22.99 萬元,此前補(bǔ)貼后起售價為 26.59 萬元)和高性能版(起售價從 34.99 萬元降至 32.99 萬元)兩款車型。Model?3 后輪驅(qū)動版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 556 公里,最高時速為 225 公里 / 時,百公里加速為 6.1 秒。Model?3 高性能版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 675 公里,最高時速為 261 公里 / 時,百公里加速為 3.3 秒。特斯拉 Model?Y 則包括后輪驅(qū)動版(起售價從 28.89 萬元降至 25.99 萬元)、長續(xù)航版(雙電機(jī)全輪陸山動起售價從 35.79 萬元降至 30.99 萬元)、高性能版(雙電機(jī)全輪驅(qū)動,起售從 39.79 萬元降至 35.99 萬元)三款車型。Model?Y 后輪驅(qū)動版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 545 公里,最高時速為 217 公里 / 時,百公里加速為 6.9 秒。Model?Y?長續(xù)航版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 660 公里,最高時速為 217 公里 / 時,百公里加速為 5.0 秒。Model?Y?高性能版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 615 公里,最高時速為 250 公里 / 時,百公里加速為 3.7 秒。相關(guān)閱讀:《特斯拉 Model S / X 中國市場售價公布:78.99 萬元起,可選配 Yoke 方向盤》 IT之家 1 月 10 日消息,聯(lián)合創(chuàng)新今日推出 24C1F 顯示器,23.8 英寸 1080p 75Hz 規(guī)格,配備全功能 USB-C 和有線網(wǎng)口,首發(fā)價 699 元。據(jù)介紹,聯(lián)合創(chuàng)新?24C1F 顯示器配備了 23.8 英寸的 IPS 面板,1080p 分辨率,75Hz 刷新率,300 尼特亮度,1000:1 對比度,真 8bit 色深,99% sRGB 色域、90% Adobe RGB 和 90%?DCI-P3 色域,色準(zhǔn) DeltaE 小于 2。其他方面,這款顯示器配備了番禺降旋轉(zhuǎn)架,接口包括支持 65W 反向供電的全功能 USB-C 接口、RJ45 有線網(wǎng)口、HDMI 接口以及 USB-A 接口。內(nèi)置音箱的規(guī)格為 3W*2 功率。聯(lián)合創(chuàng)新?24C1F 顯示器將在今晚開賣,標(biāo)價 799 元,首發(fā) 699 元。京東聯(lián)合創(chuàng)新(INNOCN)23.8 英寸 IPS 顯示器 旋轉(zhuǎn)升降 校色 內(nèi)置音箱 24C1F799 元直達(dá)鏈? 感謝IT之家網(wǎng)友 肖戰(zhàn)割割、情系半慎子nh 的線索投遞!IT之家 1 月 10 日消息,據(jù)小米官消息,小米 13 系列首發(fā)支持 IIFAA(互聯(lián)網(wǎng)金融身份鮮山證盟)硬件級安全像頭標(biāo)準(zhǔn),達(dá)到融級安全標(biāo)準(zhǔn),付更安全。采用向驗(yàn)證和可信應(yīng),極大保障了手攝像頭的安全性據(jù)悉,硬件級安攝像目前已在支寶上線,小米 13 系列的用戶可將支付寶升兵圣至 10.3.30.9000 及以上版本體驗(yàn)。IT之家了解到,互聯(lián)金融身份認(rèn)證聯(lián)“International Internet Finance Authentication Alliance”(英文簡稱“IIFAA”),成立于 2015 年,由中國信息通研究院、螞蟻金、華為、三星、里巴巴、中興 6 家單位聯(lián)合發(fā)起。聯(lián)歸藏建立的初是為了確保使用物特征識作為身認(rèn)證方式的便捷安全和可信,通協(xié)同整個產(chǎn)業(yè)上游創(chuàng)新,建立起一個生物識別框下的芯片級安全路,聯(lián)盟也成為提升指紋、人臉生物識別應(yīng)用安水位,推動其普和發(fā)展的重要力。目前,IIFAA 可信數(shù)字身份技術(shù)規(guī)帝江在全球過 16 億臺手機(jī)設(shè)備、36 個手機(jī)品牌和 600 多款手機(jī)型號上得到應(yīng)用臺璽支? 本文來自微信公眾號開發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是查看 Linux 服務(wù)器運(yùn)行狀態(tài)時很常用的一個性能讙。在觀察線上服務(wù)器行狀況的時候,我們是經(jīng)常把負(fù)載找出來一看。在線上請求壓過大的時候,經(jīng)常是伴隨著負(fù)載的飆高。是負(fù)載的原理你真的解了嗎?我來列舉幾問題,看看你對負(fù)載理解是否足夠的深刻負(fù)載是如何計(jì)算出來?負(fù)載高低和 CPU 消耗正相關(guān)嗎?內(nèi)核是如何暴露負(fù)載數(shù)據(jù)應(yīng)用層的?如果你對上問題的理解還拿捏是很準(zhǔn),那么飛哥今就帶你來深入地了解下 Linux 中的負(fù)載!一、理解負(fù)載看過程我們經(jīng)常用 top 命令查看 Linux 系統(tǒng)的負(fù)載情況。一個典型的 top 命令輸出的負(fù)載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負(fù)載,也叫系統(tǒng)平均道家。因?yàn)閱渭兡骋粋€瞬的負(fù)載值并沒有太大義。所以 Linux 是計(jì)算了過去一段時間內(nèi)的平均值,這三數(shù)分別代表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負(fù)載值。那 top 命令展示的數(shù)據(jù)數(shù)是如何來升山呢事實(shí)上,top 命令里的負(fù)載值是從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到這個過竦斯。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件的 open 函數(shù)。當(dāng)用戶態(tài)訪問 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù)在這里會讀取內(nèi)核中平均負(fù)載變量,簡單算后便可展示出來。體流程如下圖所示。們根據(jù)上述流程圖再開了看下。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會創(chuàng)建 /proc/ loadavg,并為其指定操作方法 loadavg_proc_fops。//file:?fs/proc/loadavg.cstatic?int?__init?proc_loadavg_init(void){?proc_create("loadavg",?0,?NULL,?&loadavg_proc_fops);?return?0;}在 loadavg_proc_fops 中包含了打開該文件時對應(yīng)的作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當(dāng)在用戶態(tài)打開 /proc/ loadavg 文件時,都會調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會調(diào)用 loadavg_proc_show 進(jìn)行處理,核心的計(jì)算是在厘山里完成。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負(fù)載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負(fù)載?seq_printf(m,?"%lu.%02lu?%lu.%02lu?%lu.%02lu?%ld/%d?%d\n",??LOAD_INT(avnrun[0]),?LOAD_FRAC(avnrun[0]),??LOAD_INT(avnrun[1]),?LOAD_FRAC(avnrun[1]),??LOAD_INT(avnrun[2]),?LOAD_FRAC(avnrun[2]),??nr_running(),?nr_threads,??task_active_pid_ns(current)-last_pid);?return?0;}在 loadavg_proc_show 函數(shù)中做了兩件事。調(diào)用 get_avenrun 讀取當(dāng)前負(fù)載值將平負(fù)載值按照一定的格打印輸出在上面的源中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代寫的這么猥瑣是因?yàn)?核中并沒有 float、double 等浮點(diǎn)數(shù)類型,而是用數(shù)來模擬的。這些代都是為了在整數(shù)和小之間轉(zhuǎn)化使的。知道個背景就行了,不用度展開剖析。這樣用通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)計(jì)算的負(fù)載數(shù)據(jù)了。中獲取 get_avenrun 只是在訪問 avenrun 這個全局?jǐn)?shù)組而已。//file:kernel/sched/core.cvoid?get_avenrun(unsigned?long?*loads,?unsigned?long?offset,?int?shift){?loads[0]?=?(avenrun[0]?+?offset)? update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當(dāng)前 CPU 上的負(fù)載值到 calc_load_tasks 上。因?yàn)槊總€ CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個系的瞬時負(fù)載值。我們看下負(fù)責(zé)刷新的 scheduler_tick 這個核心函數(shù)://file:kernel/sched/core.cvoid?scheduler_tick(void){?int?cpu?=?smp_processor_id();?struct?rq?*rq?=?cpu_rq(cpu);?update_cpu_load_active(rq);?}在這個函數(shù)中,獲取當(dāng)前 cpu 以及其對應(yīng)的運(yùn)行隊(duì)列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當(dāng)前 CPU 的負(fù)載數(shù)據(jù)到全局?jǐn)?shù)組中。//file:kernel/sched/core.cstatic?void?update_cpu_load_active(struct?rq?*this_rq){??calc_load_account_active(this_rq);}//file:kernel/sched/core.cstatic?void?calc_load_account_active(struct?rq?*this_rq){?//獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時負(fù)載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對值,把它加到全局瞬時負(fù)值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前間下的整體瞬時負(fù)載數(shù)了。我們再展開看是如何根據(jù)運(yùn)行隊(duì)列算負(fù)載值的://file:kernel/sched/core.cstatic?long?calc_load_fold_active(struct?rq?*this_rq){?long?nr_active,?delta?=?0;?//?R?和?D?狀態(tài)的用戶?task?nr_active?=?this_rq-nr_running;?nr_active?+=?(long)?this_rq-nr_uninterruptible;?//?只返回變化的量?if?(nr_active?!=?this_rq-calc_load_active)?{??delta?=?nr_active?-?this_rq-calc_load_active;??this_rq-calc_load_active?=?nr_active;?}?return?delta;}哦,原來是同時計(jì)算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進(jìn)程的數(shù)量。對應(yīng)于戶空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)據(jù)。所以倫山刷 rq 里的進(jìn)程數(shù)到其上的時候,只需要變化的量就行,不用部重算。因此上述函返回的是一個 delta。2.2 定時計(jì)算系統(tǒng)平均負(fù)載上一節(jié)中我們找到了系統(tǒng)前瞬時負(fù)載 calc_load_tasks 變量的更新過程。現(xiàn)在我們還缺一個計(jì)過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)意義上,我在計(jì)算平均數(shù)的時候取的方法都是把過去段時間的數(shù)字都加起然后平均一下。把過 N 個時間點(diǎn)的所有瞬時負(fù)載都加起鴟取個平均數(shù)不完事了。其實(shí)是我們傳統(tǒng)意義理解的平均數(shù),假如 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的平均數(shù)是 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算法計(jì)算平均負(fù)載的話,在以下幾個問題:1.需要存儲過去每一個樣周期的數(shù)據(jù)假設(shè)我每 10 毫秒都采集一次,那么就需要使一個比較大的數(shù)組將一次采樣的數(shù)據(jù)全部存起來,那么統(tǒng)計(jì)過 15 分鐘的平均數(shù)就得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新的觀察值,反經(jīng)要移動平均中減去一個早的觀察值,再加上個最新的觀察值,內(nèi)數(shù)組會頻繁地修改和新。2.計(jì)算過程較為復(fù)雜計(jì)算的時候再把個數(shù)組全加起來,再以樣本總數(shù)。雖然加很簡單,但是成百上個數(shù)字的累加仍然很繁瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢傳統(tǒng)平均數(shù)計(jì)算過程中,有數(shù)字的權(quán)重是一樣。但對于平均負(fù)載這實(shí)時應(yīng)用來說,其實(shí)靠近當(dāng)前時刻的數(shù)值重應(yīng)該越要大一些才。因?yàn)檫@樣能更好反近期變化的趨勢。所,在 Linux 里使用的并不是我們所為的傳統(tǒng)的平均數(shù)的算方法,而是采用的種指數(shù)加權(quán)移動平均Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法。種指數(shù)加權(quán)移動平均計(jì)算法在深度學(xué)習(xí)中很廣泛的應(yīng)用。另外票市場里的 EMA 均線也是使用的是類的方法求均值的方法該算法的數(shù)學(xué)表達(dá)式:a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點(diǎn)小雜,感興趣的同學(xué)可 Google 自行搜索。我們只需要知這種方法在實(shí)際計(jì)算時候只需要上一個時的平均數(shù)即可,不需保存所有瞬時負(fù)載值另外就是越靠近現(xiàn)在時間點(diǎn)權(quán)重越高,能很好地表示近期變化勢。這其實(shí)也是在時子系統(tǒng)中定時完成的通過一種叫做指數(shù)加移動平均計(jì)算的方法計(jì)算這三個平均數(shù)。們來詳細(xì)看下上圖中執(zhí)行過程。時間子系將在時鐘中斷中會注時鐘中斷的處理函數(shù) timer_interrupt 。//file:arch/ia64/kernel/time.cvoid?__inittime_init?(void){?register_percpu_irq(IA64_TIMER_VECTOR,?&timer_irqaction);?ia64_init_itm();}static?struct?irqaction?timer_irqaction?=?{?.handler?=?timer_interrupt,?.flags?=?IRQF_DISABLED?|?IRQF_IRQPOLL,?.name?=??"timer"};當(dāng)每次時鐘節(jié)拍到來時會調(diào)用吉量 timer_interrupt,依次會調(diào)用到 do_timer 函數(shù)。//file:kernel/time/timekeeping.cvoid?do_timer(unsigned?long?ticks){???calc_global_load(ticks);}其中 calc_global_load 是平均負(fù)載計(jì)算的核心。它會取系統(tǒng)當(dāng)前瞬時負(fù)載 calc_load_tasks,然后來計(jì)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載,并保存到 avenrun 中,供用戶進(jìn)程讀取。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當(dāng)前瞬時負(fù)載?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負(fù)載的計(jì)算?avenrun[0]?=?calc_load(avenrun[0],?EXP_1,?active);?avenrun[1]?=?calc_load(avenrun[1],?EXP_5,?active);?avenrun[2]?=?calc_load(avenrun[2],?EXP_15,?active);?}獲取瞬時負(fù)載比較簡單,就是讀取猾褱個存變量而已。在 calc_load 中就是采用了我們前面說指數(shù)加權(quán)移動平均法計(jì)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載的。具體實(shí)現(xiàn)的虎蛟如下://file:kernel/sched/core.c/*?*?a1?=?a0?*?e?+?a?*?(1?-?e)?*/static?unsigned?longcalc_load(unsigned?long?load,?unsigned?long?exp,?unsigned?long?active){?load?*=?exp;?load?+=?active?*?(FIXED_1?-?exp);?load?+=?1UL?<>?FSHIFT;}雖然這個算法理解起來挺復(fù)雜,但是碼看起來確實(shí)要簡單少,計(jì)算量看起來很。而且看不懂也沒有系,只需要知道內(nèi)核不是采用的原始的平數(shù)計(jì)算方法,而是采了一種計(jì)算快,且能好表達(dá)變化趨勢的算就行。至此,我們開提到的“負(fù)載是如何算出來的?”這個問題也有結(jié)論了。Linux 定時將每個 CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個局系統(tǒng)瞬時負(fù)載值中然后再定時使用指數(shù)權(quán)移動平均法來統(tǒng)計(jì)去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。三、平均負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很多同學(xué)都將?踢均負(fù)載和 CPU 給聯(lián)系到了一起。認(rèn)為負(fù)載高、CPU 消耗就會高,負(fù)載低,CPU 消耗就會低。在很老的 Linux 的版本里,統(tǒng)計(jì)負(fù)載的時候確實(shí)是只算了 runnable 的任務(wù)數(shù)量,這些進(jìn)程只對 CPU 有需求。在那個年代里負(fù)載和 CPU 消耗量確實(shí)是正相關(guān)的。載越高就表示正在 CPU 上運(yùn)行,或等待 CPU 執(zhí)行的進(jìn)程越多,CPU 消耗量也會越高。但是前面們看到了,本文使用 3.10 版本的 Linux 負(fù)載平均數(shù)不僅跟蹤 runnable 的任務(wù),而且還跟蹤處于 uninterruptible sleep 狀態(tài)的任務(wù)。而 uninterruptible 狀態(tài)的進(jìn)程其實(shí)是不占 CPU 的。所以說,負(fù)載高并一是 CPU 處理不過來,也有可能會是因磁盤等其他資源調(diào)度過來而使得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為什么要么修改。我從網(wǎng)上搜了遠(yuǎn)在 1993 年的一封郵件里找到了因,以下是郵件原文From:?Matthias?Urlichs?Subject:?Load?average?broken??Date:?Fri,?29?Oct?1993?11:37:23?+0200??The?kernel?only?counts?"runnable"?processes?when?computing?the?load?average.I?don't?like?that;?the?problem?is?that?processes?which?are?swing?orwaiting?on?"fast",?i.e.?noninterruptible,?I/O,?also?consume?resources.?It?seems?somewhat?nonintuitive?that?the?load?average?goes?down?when?youreplace?your?fast?swap?disk?with?a?slow?swap?disk...?Anyway,?the?following?patch?seems?to?make?the?load?average?much?moreconsistent?WRT?the?subjective?speed?of?the?system.?And,?most?important,?theload?is?still?zero?when?nobody?is?doing?anything.?;-)---?kernel/sched.c.orig?Fri?Oct?29?10:31:11?1993+++?kernel/sched.c??Fri?Oct?29?10:32:51?1993@@?-414,7?+414,9?@@????unsigned?long?nr?=?0;?????for(p?=?&LAST_TASK;?p?>?&FIRST_TASK;?--p)-???????if?(*p?&&?(*p)->state?==?TASK_RUNNING)+???????if?(*p?&&?((*p)->state?==?TASK_RUNNING)?||+?????????????????(*p)->state?==?TASK_UNINTERRUPTIBLE)?||+?????????????????(*p)->state?==?TASK_SWING))????????????nr?+=?FIXED_1;????return?nr;?}可見這個修改是在 1993 年就引入了。在這封郵件所的 Linux 源碼變化中可以看到,負(fù)正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(tài)(交換狀態(tài)后來從 Linux 中刪除)的進(jìn)程也給添加進(jìn)來。在這封郵件中正文中,作者也清楚表達(dá)了為什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程添加進(jìn)來原因。我把他的說明譯一下,如下:“內(nèi)在計(jì)算平均負(fù)載時只算“可運(yùn)行”進(jìn)程。不喜歡那樣;問題是在“快速”交換或等的進(jìn)程,即不可中斷 I / O,也會消耗資源。當(dāng)您用慢速換磁盤替換快速交換盤時,平均負(fù)載下降乎有點(diǎn)不直觀...... 無論如何,下面的補(bǔ)丁似乎使負(fù)黃帝平值更加一致 WRT 系統(tǒng)的主觀速度。而,最重要的是,當(dāng)沒人做任何事情時,負(fù)仍然為零。;-)”這一補(bǔ)丁提交者的主要想是平均負(fù)載應(yīng)該表對系統(tǒng)所有資源的需情況,而不應(yīng)該只表對 CPU 資源的需求。假設(shè)某個 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程因?yàn)榈却疟P IO 而排隊(duì)的話,此時它并不消耗 CPU,但是正在等磁盤等件資源。那么它是應(yīng)體現(xiàn)在平均負(fù)載的計(jì)里的。所以作者把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程都表現(xiàn)到均負(fù)載里了。所以,載高低表明的是當(dāng)前統(tǒng)上對系統(tǒng)資源整體求更情況。如果負(fù)載高,可能是 CPU 資源不夠了,也可能磁盤 IO 資源不夠了,所以還需要配合它觀測命令具體分情分析。四、總結(jié)今天帶大家深入地學(xué)習(xí)了下 Linux 中的負(fù)載。我們根據(jù)一幅來總結(jié)一下今天學(xué)到內(nèi)容。我把負(fù)載工作理分成了如下三步。1.內(nèi)核定時匯總每 CPU 負(fù)載到系統(tǒng)瞬時負(fù)載2.內(nèi)核使用指數(shù)加權(quán)移動平均快速計(jì)過去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程通過打開 loadavg 讀取內(nèi)核中的平均負(fù)載我們蛫回來總結(jié)一下開篇提到幾個問題。1.負(fù)載是如何計(jì)算出來的?是定時將每個 CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個全局系瞬時負(fù)載值中,然后定時使用指數(shù)加權(quán)移平均法來統(tǒng)計(jì)過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)載高低明的是當(dāng)前系統(tǒng)上對統(tǒng)資源整體需求更情。如果負(fù)載變高,可是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了。所以不能說看著負(fù)載變高就覺得是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負(fù)載數(shù)據(jù)應(yīng)用層的?內(nèi)核定義一個偽文件 /proc/ loadavg,每當(dāng)用戶打開這個件的時候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會被調(diào)用到,該函中訪問 avenrun 全局?jǐn)?shù)組變量,并將平均負(fù)載黑豹整數(shù)轉(zhuǎn)為小數(shù),然后打印出?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

感謝IT之家網(wǎng)友 65353535W、白菜求喂鳥 的線索投遞!IT之家 12 月 17 日消息,據(jù)網(wǎng)友反饋,華先龍 Mate 50 Pro 系列手機(jī)開始推送鴻蒙 HarmonyOS 3.0.0.187 (SP1C00E185R5P4) 更新,下載包大小為 0.98 GB,本次新增超級快充 Turbo 模式,還優(yōu)化了部分奧山景的通信體驗(yàn),提升了拍攝效果。下面是新內(nèi)容:充電新增超級快 Turbo 模式,進(jìn)入 Turbo 充電模式后,可享鸀鳥加速充電體驗(yàn)通優(yōu)化部分場景的通信體驗(yàn)機(jī)優(yōu)化部分場景拍攝效果提升拍攝體驗(yàn)系統(tǒng)優(yōu)化部場景系統(tǒng)性能和穩(wěn)定性IT之家獲悉,華為 Mate 50 系列搭載驍龍 8+ Gen 1 4G 芯片,支持 5G 通信殼,華為 Mate 50 Pro 采用 6.74 英寸 120Hz 刷新率屏幕,還成山昆侖玻璃版,支 66W 有線快充,50W 無線快充,7.5W 無線反向充電,內(nèi)置 4700mAh。還支持支持 3D 人臉支付、屏內(nèi)指禹,支持北斗衛(wèi)星畢方息、超間存儲壓縮技術(shù)陵魚超級中站、智感掃碼等修鞈能。華 Mate 50 系列首發(fā)搭載華為影像 XMAGE,華為 Mate 50 Pro 搭載 1300 萬像素超廣角攝像頭(f / 2.2,超微距拍攝),6400 萬像素潛望式長焦堯像頭(RYYB ,3.5 倍光學(xué)變焦、f / 3.5、OIS 光學(xué)防抖),200 倍變焦范圍(13mm-2700mm),5000 萬像素超光變攝像頭(RYYB,f / 1.4-f / 4.0,OIS 光學(xué)防抖),接近光傳感獂,激光焦傳感器,10 通道多光譜傳感麈?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

本文來自微信白鹿號:低并發(fā)編程 (ID:dibingfa),作者:閃客原騶吾標(biāo)題《你管這破玩意指針?》本系青耕三篇,用破玩意方式徹底理解好針的本質(zhì):你管破玩意叫指針 -- 基礎(chǔ)篇你管這破升山意叫指針 -- 進(jìn)階篇你管這破玩意叫指針 -- 變態(tài)篇話不多說,開始高山內(nèi)存通常被嚴(yán)謹(jǐn)?shù)禺?下面這個樣子管子個下方是低地址方是高地址的格樓。但我今天換畫法,畫成下面個樣子。每個格代表內(nèi)存中的 1 個字節(jié)(8 位),格子上的數(shù)就代表內(nèi)存地址我也直接用 10 進(jìn)制來表示了,免得 16 進(jìn)制又算不明白了。前內(nèi)存是完全空,格子里沒有任內(nèi)容。試想一下如果你忘掉所乾山語法規(guī)則和編程范,你會如何描對這些內(nèi)存格子操作呢?一、類系統(tǒng)很簡單,往子 3 處放個數(shù)字 29,往格子 6 處放個數(shù)字 38,就這么簡單熏池接地描述即。但是這樣說話麻煩了,什么往子 3 處放個數(shù)字 29 的,廢話太多,也不方不講感情的計(jì)算去理解。那我們定個指令,使用 mov $x, (y) 表示把數(shù)字 x 放入格子 y,如下:mov?,?(3)mov?,?(6)這就表示剛剛盂山的:數(shù)字?29?放入內(nèi)存格?翠山3把數(shù)字?38?放入內(nèi)存格韓流?6是不是太簡單了?別急好戲馬上開始!果要把數(shù)字 999 放入內(nèi)存格子 8,該怎么辦呢儵魚由于 1 個格子表示 1 個字節(jié),只有 8 位,因此只能表示 256 個數(shù)字,要么翠鳥有符號的 -128 ~ 127,要么是無符號的 0 ~255,顯然數(shù)字 999 無法放在 1 個格子內(nèi),只能占犀牛 2 個格子了。那也好辦就這么說,把數(shù) 999 放入格子 8,連續(xù)占用兩巫羅格子。但這,我們剛剛的 mov 指令就得改改了,不但要表 "存放" 這個含義,還得表示用了多少個格子我們用 movb 表示只占 1 個字節(jié),用 movw 表示占用 2 個字節(jié)。那么,剛剛的獵獵個數(shù),就分別可以這用指令來表示猼訑movb?,?(3)movb?,?(6)movw?9,?(8)含義就是:把數(shù)?29?放入內(nèi)存格?吳權(quán)3,占?1?字節(jié)把數(shù)字?38?放入內(nèi)存格易傳?6,占?1?字節(jié)把數(shù)字?999?放入內(nèi)存格?8,占?2?個字節(jié)OK,既然有了 1 字節(jié)和 2 字節(jié)的的指令,不妨饒山設(shè)計(jì)下, movl 表示 4 字節(jié),movq 表示 8 字節(jié) ...movb?占用?1?字節(jié)movw?占用?2?字節(jié)movl?占用?4?字節(jié)movq?占用?8?字節(jié)不知不覺,類型系統(tǒng)被你悄悄設(shè)計(jì)出了!當(dāng)然,雖然只是個半成品。、變量你不斷地不同格子里放數(shù)。比如我把我思女齡放在 11 號格子(占 1 字節(jié)),把我供給月放在 14 號格子(占 4 字節(jié))?,F(xiàn)在黑蛇們的存已經(jīng)非?;靵y,你根本記不鶌鶋來的 3 號格子放的數(shù)據(jù)表示解說,11 號格子又表示什么,只獨(dú)山過看數(shù)字知道 14 號格子里放的確實(shí)是我的服山薪這該怎么辦呢巫彭加一層抽象嘛!們給這些放了我數(shù)據(jù)的格子,都上個標(biāo)簽,就可不用再記那些無義的格子編號了這樣以來,其苗龍們也不再關(guān)心,些標(biāo)簽到底在哪格子里,只要給找到格子把我的據(jù)放進(jìn)去就可以。movb?,?amovb?,?bmovw?9,?cmovb?,?agemovl?47483647,?salary當(dāng)然,我還需要通過這個標(biāo)簽,我剛剛放進(jìn)去的據(jù)找出來。這黃帝單,但存在一個題,放進(jìn)去的時,我們可以通過 movb,movw,movl 等知道占用多少晏龍子。而取出來的候,標(biāo)簽上可沒寫這個數(shù)據(jù)占用多少個格子,這有問題的。因此在定義這個標(biāo)簽,不能光取個藟山,還需要有個信就是,這個標(biāo)簽應(yīng)的數(shù)據(jù),占了少個格子。我們效仿剛剛的存放作,也規(guī)定一系單詞,來修飾修鞈標(biāo)簽,表示占用多少個格子。char 表示 1 個字節(jié),short 表示 2 個字節(jié),int 表示 4 個字節(jié),long 表示 8 個字節(jié) ...于是乎剛剛的 5 個數(shù)據(jù),就可以表示為如先龍指:char?a?=?29;char?b?=?38;short?c?=?999;char?age?=?18;int?salary?=?2147483647;行了,我也別顓頊著掖著,相信大家也知,這里就是 C 語言的寫法,而剛那堆 mov 是匯編語言的寫。這些 char a,char b,int salary 等,就是變量!記住,量不但要有名字還得有類型!三變量定義與賦值實(shí),剛剛的寫法是把變量的定女虔賦值操作寫在一了。比如有如下句:int?a?=?1;實(shí)際上是分成兩步的://?變量的定義int?a;//?變量的賦值堵山此處可以叫變量的初化)a?=?1;其中變量的定義為了方便程序乘厘面去用它,這部不是給 CPU 看的。而變量的值才是真正在內(nèi)中把數(shù)據(jù)放進(jìn)去這部分才真正涉 CPU 具體指令的執(zhí)陸吾。也就說,如果你僅僅義了一個變量 int a; 但是沒有給它初始化賦值操作,那么終在 CPU 執(zhí)行指令的時候,個定義根本就沒任何體現(xiàn)。四馬腹針現(xiàn)在,讓我們內(nèi)存清空,回到開始的那一片凈上。我們來搞點(diǎn)樣。我將我的密(1234)存儲在一個 short a 中,假設(shè)這個?因?yàn)榱?a 被放在了 6 號格子處。同時,我這個變量 a 的地址,也就是 6 這個數(shù)字,存儲在另一個變足訾 int p 中,假設(shè)這個盂山量 p 被放在了 1 號格子處。這樣,尋找我密碼的方,就是先通過 p 所在的內(nèi)存地址找弄明里面存的值也就是 a 的內(nèi)存地址 6,再通過 a 的內(nèi)存地址找到里面存貍力,也就是我要找密碼 1234。我們可以用下面代碼來表示剛剛存放邏輯。short?a?=?1234;//?假設(shè)?a?被放在了?6?號格子處int?p?=?6;這里的 p 和 a 都是變量,只玄鳥過,p 這個變量有點(diǎn)特殊,里面存放的值是個內(nèi)存地址,我把 p 這個變量形象鐘山成為指針量,簡稱指針。過,這樣有幾個題,我一個個來。1. 取地址首先,我們在無淫碼段,無法知道末山需知道變量 a 會存放在哪里陵魚然就失去了標(biāo)簽含義,又回到了要關(guān)心具體的內(nèi)地址(也就是格編號)的時代了所以,我們應(yīng)該個方法,來在鴖階段表示變量 a 的地址的含義,姑且就叫做 &a 吧。那么我們的代碼,鱄魚可以優(yōu)為:short?a?=?1234;//?假設(shè)?a?的地址是?6//?那么下面?中庸p?就等于?6int?p?=?&a;用圖來表示就是:2. 指針變量本身的大小視放到這個變量 p 身上,雖然本質(zhì)上三身個變量 p 里面存放的就是個數(shù)值,假設(shè)是 6,但是它卻表朱獳了一個內(nèi)存地太山值。如果讓程序隨便規(guī)定這個變 p 的數(shù)據(jù)類型(戲就是占多少字節(jié)),那顯然易出問題。比如存地址是 999,那么我用一個 char 類型的變量 p 來存放它,就會有問題我們在編碼階段無法確定一個變的內(nèi)存地址是多的,所以用什么型的變量來存放,也是無法判岷山。所以,最穩(wěn)妥辦法就是,用一完全能容納所有存地址范圍的變類型來存放指針量。我們姑且認(rèn)我們是在一個 32 位的系統(tǒng)上,那么用一墨子 4 字節(jié)大小的變量存放,就可以了(當(dāng)然,實(shí)際上取決于你的編風(fēng)伯的位數(shù))現(xiàn)在,們的指針變量所用的內(nèi)存大小,是固定的 4 個字節(jié),也就是 4 個格子。程序員驩疏需也無法修改個大小,那么我就可以把 p 前面的數(shù)據(jù)類型去了。short?a?=?1234;p?=?&a;3. 指針變量的類型剛剛我晉書解了指針變量本蜚占用的內(nèi)存大小但是還有一個問沒有解決,就是針變量里存放的存地址處的變量大小。也就是說上面的指針變柜山 p 里雖然存放了變量 a 的內(nèi)存地址 6,但是指針變炎帝 p 卻沒有任何信息,來明內(nèi)存地址 6 處的變量,它的小是多少。假如我們認(rèn)為內(nèi)存地 6 處的變量是個 char 類型,也就是只占了一個字節(jié),那顯然,會取出一不符合預(yù)期的值當(dāng)然,如果認(rèn)鴖 6 處的變量是個 int 類型,占 4 個字節(jié),雖然江疑值上可能有問題,但從某程度上講也是不符合預(yù)期的(假 8 號和 9 號格子里有其他容,那就更不白鹿預(yù)期了)。所以必須得完全按照量本身的類型,就是 short 類型來讀取此內(nèi)存儀禮址處的值,是正確的。那我應(yīng)該如何表示這信息呢?即如何示,變量 p 是一個指針,且這指針里面存放的存地址處的變孫子類型是 short。很好辦,直接說答案吧。short?a?=?1234;short?*?p?=?&a;p 前面的 * 表示變量 p 是一個指針類型,再前面柄山 short 表示該指針指舜的內(nèi)存址處的變量,是 short 類型的變量。當(dāng)然更準(zhǔn)確的說法是指針 p 將會按照 short 類型的變量來讀它指向的內(nèi)存,于那里到底是環(huán)狗,無所謂。注意,這個 short 并不是表示指針變量本身的駁占 2 個字節(jié),指針變量本身虢山前面說過了,就固定的 4 字節(jié)大小。不過總是樣說太繞口了,后我們就說,變 p 是個 short * 類型的指針,就可以。用上面的圖形地說就是,右邊量 a 藍(lán)色的填充,表巫即 a 是個 short 類型,而外面的線框框,表示指 p 按照 short 類型的變量來 "解讀" 內(nèi)存地址 6 處的數(shù)值。兩者昌意配了,就是 "正確" 的編程代碼了。當(dāng)然,升山里 "正確",是說給程序員聽柄山,CPU 才不關(guān)心。4. 指針?biāo)赶虻闹导饷嫖覀円?可以獲得某個變的地址,比如獲 a 的地址就是:&a同時我們也可以定號山一個指變量,比如定義個 short * 類型的指針變量 p:short?*?p;并且,我們通過直接值操作,可以給針變量進(jìn)行初始:p?=?&a;當(dāng)然,上面的代也可以連起來寫即指針變量 p 的定義與初始化在同一行:short?*?p?=?&a;不過,我們還旄山有一個方,來表示指針變 p 所指向的那塊內(nèi)存茈魚那我們發(fā)明一個,比如把 p 所指向的那塊內(nèi)存靈山值改 999,可以這樣寫。*p?=?999;這里的 * 就表示 "指向" 的含義,即 *p 不是說 p 這個變量的內(nèi)存地址,而始均把 p 這個變量里存的內(nèi)容柢山做內(nèi)存址來看,指向這內(nèi)存地址。用圖示就是:所以青耕來一個完整的程就是:short?a?=?1234;//?指針的定義short?*?p;//?指針的初始化,也指針變量本身的p?=?&a;//?指針變量所指向的內(nèi)顓頊地址的*p?=?999;執(zhí)行過后,a 的值會變成 999,或者說 6 號格子與 7 號格子里的值會章山 999。5. 指針的加減如鴸鳥一個普通變量 +1,比如說:int?a?=?1;int?b?=?a?+?1;那顯然,b 的值應(yīng)該是 2,毫無疑問。但是如果對一指針變量 +1,會怎么樣呢?int?a?=?1;int?*p?=?&a;int?*p2?=?p?+?1;我們假設(shè)變量 a 放在了格子 1 處。變量 a 的值是什么,以及變靈山 p 被放在了哪里,我們都嬰山關(guān)心,只盯著 p 的值看,顯然,一開的時候是 1。(為方便演示,下的圖直接表示 p 所指向的內(nèi)存地址,獵獵不是 p 本身所在的內(nèi)存址)我們先不考,p + 1 應(yīng)該是幾,如果讓來設(shè)計(jì)這個語言你覺得 p + 1 是幾比較好呢?我水馬為,只有種較為合理的設(shè)。第一種,p + 1 就等于 2,就簡簡單單當(dāng)數(shù)值進(jìn)行加法運(yùn)而已。第二種,p + 1 等于 5,即跨過一個 p 所指向的內(nèi)存禺?元的數(shù)據(jù)類型大小,也就是 4 字節(jié)的 int。你覺得那種鸀鳥合理呢?那顯然第二種嘛!不然普通變量有啥區(qū)了,你既然設(shè)計(jì)了指針變量這個意,就需要讓它揮點(diǎn)方便程序鬲山作用,這才是你計(jì)它的真正目的當(dāng)然你不服,你想讓這個 int * 類型的指針變炎帝,就真真正在數(shù)值上只 +1,也就是讓 p 等于 2,該怎么辦呢?很簡單虢山成三步就好了:一步,把 int * 類型的 p 強(qiáng)轉(zhuǎn)為 char * 類型的 p。第二步,p + 1。第三步,再把 char * 類型的 p 強(qiáng)轉(zhuǎn)為 int * 類型。完事!用代碼表示蔥聾是p?=?(int?*)((char?*)p?+?1);你會看到,C 語言項(xiàng)目中經(jīng)常九歌用這樣的玩。當(dāng)然,你這一花里胡哨的操作在 CPU 眼里,就是對一個內(nèi)地址處的值簡簡單地 +1 而已。五、指戲的本我們看上面的一圖:其實(shí),別白翟面又 short * p 又 short a 的,這是給程序員編譯器看的。在 CPU 眼里,根本沒有鯢山些眼花亂的標(biāo)簽,以及花八門的解讀,是 0 ~ 4 號格子里存了個字 6,然后 6 ~ 7 號格子里存了個朱厭字 1234,僅此而已。更莊子一步講,實(shí)就只是 1 號格子里存儲了數(shù) 6(234 號格子是空的),6 號格子里存儲了周易字 12,7 號格子里存儲呰鼠字 34。(當(dāng)然實(shí)際得轉(zhuǎn)換成鐘山制,再結(jié)合大端還是小端序來看,我這里就是簡直觀告訴大家 CPU 才不管那么多先龍就一個格子個格子的放數(shù)字完事了)所以,們經(jīng)常聽書上講讓大家一定要記,指針變量中泰逢存放地址,不要一個整數(shù)或任何他非地址類型的據(jù)賦給一個指針量了。這種說法非常別扭,很多上,即想講清黎針的本質(zhì),又想清楚指針的注意項(xiàng),混雜在一起讓讀者即沒有搞楚指針的本質(zhì),不知道指針的注事項(xiàng)。真糾結(jié)帶山實(shí)話,就光看書沒有經(jīng)過大量 C 語言的實(shí)踐,泰逢能記得住或者貍力透徹那些注意事。而經(jīng)過大量 C 語言實(shí)踐的人鵌指針早就融入颙鳥液中了,誰還來你講指針的本質(zhì)所以說,這塊我得非常之矛盾。際上,指針變量本質(zhì)和普通變量一樣的:普通老子,寫個 short a,是在告訴編譯器,當(dāng)蚩尤 a = 1 時,你給我找大鵹一塊 2 字節(jié)的內(nèi)存,把 1 填充進(jìn)去。指針變量,寫個 short * p,是在告訴編譯器兩件事道家:當(dāng) p = xxx 時,你給我找到一塊 4 字節(jié)的內(nèi)存(我們假設(shè)針本身的大小固 4 字節(jié)),把 xxx 填充進(jìn)去,這就和普通量完全一樣;當(dāng) *p = yyy 時,你給我找到 xxx 內(nèi)存地址,并且按照 short 類型也就是 2 字節(jié)大小,把 yyy 填充到這里。所以,誰舉父不能把個整型變量賦給針了,我這不就一個整型變量 xxx 賦給指針 p 了么,我賦值的時候夷山說它是型變量了,怎么吧?但是我用它時候,我 *p 又把 xxx 看做是一個內(nèi)存地了,就去找內(nèi)存 xxx 的地方,又怎么丙山吧?用碼來表示就是:強(qiáng)行把一個整型值 6 賦值給指針變量 p,然后 *p 去訪問內(nèi)存地址 6 并修改那個地方的值int?*?p?=?6;*p?=?999;我還可以把一個地址值強(qiáng)行賦值給一個通變量:int?a?=?1;int?b?=?&a;這時普通變量 b 里面存儲著 a 的地址,我 *b 也同樣可以訪問茈魚 a 并修改它的值:*b?=?999;當(dāng)然如果你真這么鼓譯器會報(bào)錯,但關(guān)系,我們可以把普通變量 b 強(qiáng)轉(zhuǎn)為指針變量然后再 * 它:*(int?*)b?=?999;你還可以玩些巫真哨的,先 & 取地址,再 * 取值,雖然沒阘非用*((int?*)*(&p))?=?999;假如 a 的地址是 6 的話,其實(shí)你這綸山花里胡哨的作,最后到人家 CPU 眼里,就是一條簡單的指:movl?9,?(6)就是想把 999 放在 6 號格子嘛!所以吳權(quán)不要指針想得多么復(fù)和神圣,它就左傳便了程序員編程同時告訴編譯器該怎么編譯成最的指令。你寫了 *p,就是把 p 的值當(dāng)做內(nèi)存地址歸山訪問,在編語言層面就是了個括號:p)你寫了個 &a,就是取出變量 a 的內(nèi)存地址,在編語言層面就是 lea 指令:lea?a,?xxx你如果寫了個 ***p 那就是,相當(dāng)于赤水了三括號:((p)))當(dāng)然啦,以上都是方便狂鳥解的偽令,具體落實(shí)到正的匯編語言,會在后續(xù)的章強(qiáng)良講述,直接從匯語言理解指針,就會發(fā)現(xiàn)指針就個工具人而已。、寫在最后至此我們的《你管這玩意叫指針 -- 基礎(chǔ)篇》就講完了。我們蔿國最開的內(nèi)存格子出發(fā)逐漸推導(dǎo)出類熏池統(tǒng)和變量的作用進(jìn)而再引出本質(zhì)和普通變量沒有何區(qū)別的指針變,最后再推導(dǎo)出針變量相關(guān)的操,帶你看清了朱蛾的本質(zhì)。你不要記本文的知識點(diǎn)重在整個推導(dǎo)的程,要去理解指想解決的問題是么,它的合理性哪,哪一部分鹓是給程序員和編器看的,哪一部?操作最終又是真落實(shí)到 CPU 指令的,這些才關(guān)鍵。當(dāng)然,我是給你簡單總結(jié)知識點(diǎn)相關(guān)的部,其實(shí)簡單說杳山這么幾件事。定一個指針:int?*?p;賦值或初始化一個指從從p?=?&a;修改指針的內(nèi)容彘山*p?=?999;指針的加減(其到后面講的數(shù)組有價值):p?=?p?+?1;完事,就這些!最,給大家推薦兩網(wǎng)站。一個是龜山將 C 語言代碼實(shí)時編譯成匯吳回碼,你可以用它自己玩指針做實(shí),看它最終到 CPU 指令層面是什么樣。https://godbolt.org一個是 GNU C 手冊,里面對各種語暴山和作用講的非常清楚,不再用搜索引擎搜客了。https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html比如講類型系天狗里的型類型:再比如指針的定義和殳化:我相信本文下來,一定有人問,short * p 是不是應(yīng)該寫成:short?*p或者short*?p自己去上面的視山檔里答案即可。OK,本文到這里就終要結(jié)束了,在接來的進(jìn)階篇里耆童會講述二級指針數(shù)組、函數(shù)指針字符串、結(jié)構(gòu)體結(jié)構(gòu)體數(shù)組與指等內(nèi)容。雖然說進(jìn)階篇,但我認(rèn),指針的本質(zhì)宋書是進(jìn)階,而指針進(jìn)階反而是基礎(chǔ)因?yàn)榧偃缋斫饬?述的一切,下面所謂指針進(jìn)階玩,都可以通過指的本質(zhì)以及語歸藏計(jì)的合理性,推出來,再往后無是需要花時間熟使用和掌握罷了所以,理解好今的內(nèi)容,非常重?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

IT之家 1 月 11 日消息,隨著時間來到 2023 年,各大廠商相繼進(jìn)行了 2022 年度盤點(diǎn)。B站官方今日帶來了 2022 年B站百大 UP 主剪影,展示了即將公布的 2022 百大 UP 主的線索。官方海報(bào)顯示,B站 2022 百大 UP 主盛典活動將于 1 月 13 日 19:30 舉行,屆時將在直播現(xiàn)場揭 2022 百大 UP 主正式名單。目前,B站已發(fā)布了 2022 年年度報(bào)告,以及年度彈幕“優(yōu)”等信息。用戶查看今年打開B站的天數(shù)、觀看視總數(shù)、觀看直播長等。IT之家了解到,2022 年第三季度,B站日均活躍用戶數(shù) 9030 萬,月均活躍用戶數(shù) 3.33 億,均同比增長 25%;用戶日均使用時長達(dá) 96 分鐘,創(chuàng)歷史新高相關(guān)閱讀:《B站年度報(bào)告上線,你回顧 2022 年的嗶哩嗶哩》《B站公布 2022 年年度彈幕:“優(yōu)雅”?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

1 月 10 日下午消息,2022 年已經(jīng)過去,各家新能源車企也暴山紛公布了 2022 年的銷量情況。不過對比熊山前設(shè)定的標(biāo),新能源車企們在 2022 年集體進(jìn)入焦慮,除了比鮨魚迪、汽埃安、哪吒、極氪少數(shù)幾家完了 KPI 之外,包括特斯拉、蔚小理在內(nèi)的明星巫抵企均未完成 2022 年的銷量目標(biāo)。其中表雷神最好的要數(shù)比亞迪,數(shù)魚婦顯示2022 年比亞迪累計(jì)銷量達(dá)到 186.85 萬輛,較去年增長 152.5%;對比之下,2022 年特斯拉全球共交付 131 萬輛汽車,并未完成此前定下的 150 萬輛銷量目標(biāo),這也導(dǎo)致其熏池去了 2022 年全球新能源汽車銷量第一的暴山座,比亞迪拉下了馬。近期,特斯拉中國市場官宣降價,在售車南岳價下降 2 萬-4.8 萬元不等,這被外界視為是為了進(jìn)一步刺銷量。不過這也引發(fā)了特斯拉車的維權(quán),一些在降價前剛剛購車特斯拉車主甚至前往特窫窳拉門店求“退錢”。2022 年,備受關(guān)注的三家造車新勢力“蔚九歌理則成為了難兄難弟,在銷量上都遇了一定的困境。其中理想全蠪蚔計(jì)交付 13.3 萬輛新車,較上年同期蠱雕長 47.2%。2022 年一季度時理想給 2022 年定下的目標(biāo)是銷售 20 萬輛,后來因疫情下調(diào)了 15%,也即是 17 萬輛。但即使如此,理想汽車槐山未完成 2022 年的目標(biāo),目標(biāo)完成度為 78.2%。2022 年,蔚來累計(jì)交付新車 122486 輛,同比增長 34%,但未完成 15 萬輛的 2022 年目標(biāo)。近日,蔚來董事長李斌發(fā)布全員信舉 2022 年內(nèi)部八大不足,引發(fā)外界關(guān)注昌意對于 2023 年,蔚來的計(jì)劃是交付 20 萬輛新車,超越雷克薩石夷。小鵬汽在 2022 年也遭遇了滑鐵盧,一度在銷量上掉隊(duì)。2022 年小鵬累計(jì)交付量為 120757 臺,較 2021 年增長 23%。但距離 25 萬輛的全年目標(biāo)相差甚白虎,目標(biāo)完成度僅 48.4%,在“蔚小理”中表現(xiàn)最差。小鵬汽車在 2022 年也開啟了大規(guī)模的架構(gòu)調(diào)整。2022 年 10 月,小鵬建立了五大虛擬委員會組葴山包括戰(zhàn)略、規(guī)、技術(shù)規(guī)劃、產(chǎn)銷平衡和 OTA 委員會;建立三個產(chǎn)品矩陣組織:E、F、H 平臺產(chǎn)品矩陣,從市場、客服、傳播、銷售、藟山、銷售管理等各個職能進(jìn)行協(xié)同12 月底,小鵬又新設(shè)立財(cái)經(jīng)屈原臺,意在提升成本費(fèi)用帶山控的精化水平和財(cái)務(wù)體系的合規(guī)能力,時收回“資金”的管理權(quán)易傳。另,零跑、問界、嵐圖也未完成 2022 年的銷量目標(biāo),2022 年交付量分別為 11.1 萬輛、7.5 萬輛、1.9 萬輛,目標(biāo)完成度分別為 92.5%、93.8%、61.3%。對于 2023 年,由于國家新能源補(bǔ)貼(國補(bǔ))政策即將結(jié)呰鼠,新源車企們將還面臨著需求與定價間的壓力。根據(jù)蓋世汽車研鸓院預(yù)測,由于 2022 年過度透支市場需求,疊加經(jīng)濟(jì)衰退期、緣政治沖突等因素影響,2023 年整體車市或?qū)⑾萑胴?fù)增長,其中鯢山能源汽車市場進(jìn)入緩增九歌階,預(yù)計(jì)增幅在 30% 以內(nèi)。在新能源汽車市場增速放緩之下,時,新能源車企們或?qū)⒃儆瓉硇?輪的洗牌?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

IT之家 1 月 7 日消息,GNOME 團(tuán)隊(duì)已經(jīng)敲定 GNOME 44 將于今年 3 月 22 日發(fā)布。GNOME 是一款主流 GNU / Linux 發(fā)行版的桌面環(huán)境,是 GNOME 40 系列的另一個主要版本更新少鵹GNOME 團(tuán)隊(duì)已經(jīng)公布了 GNOME 44 的發(fā)布時間表:GNOME 44 Alpha - 2023 年 1 月 7 日GNOME 44 Beta - 2023 年 2 月 11 日GNOME 44 RC - 2023 年 3 月 4 日GNOME 44 穩(wěn)定版 - 2023 年 3 月 22 日IT之家了解到,根據(jù)發(fā)時間表,GNOME 44 Alpha 將會在今天發(fā)布,而穩(wěn)定版會在 3 月下旬發(fā)布。GNOME 44 引入了很多改進(jìn),從截圖看 Epiphany(GNOME Web)網(wǎng)絡(luò)瀏覽器終于移植到 GTK 4。老式的 Gedit 文本編輯器顯然也會回歸,這主是因?yàn)樗罱?被積極維護(hù)。事上,Gedit 44.1 已經(jīng)可以在 Flathub 上下載,它的狀態(tài)欄經(jīng)過改,并且能夠在文瀏覽器插件中通左右按鍵展開或疊項(xiàng)目?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

感謝IT之家網(wǎng)友 航空先生 的線索投遞IT之家 1 月 11 日消息,寧德時在互動平上表示,麟電池預(yù)將于 2023 年一季度量產(chǎn)公司正致推進(jìn)鈉離電池在 2023 年實(shí)現(xiàn)產(chǎn)業(yè)。寧德時麒麟電池搭載于極 009 純電 MPV 、2023 款極氪 001 等汽車上。2023 款極氪 001 WE 版 100kWh 車型可選裝 140kWh 寧德時代麒電池包,量開放 1000 套千里續(xù)航裝,在選該電池包,車輛的 CLTC 綜合工況航里程可 1032km;極氪 009 ME 版 140kWh 量產(chǎn)首發(fā)搭載寧時代 CTP 3.0 麒麟電池,車輛的 CLTC 綜合工況航里程可 822km。IT之家了解到寧德時代麟電池于年 6 月發(fā)布,采寧德時代三代 CTP 技術(shù),體積利用最高可達(dá) 72%,能量密度最可達(dá) 255Wh/kg,可實(shí)現(xiàn)整車超過 1000 公里續(xù)航寧德時代在相同的學(xué)體系、等電池包寸下,麒電池包的量,相比 4680 系統(tǒng)提升 13%。寧德時代還示,公司形成包括能量密度三元高鎳池以及高價比的磷鐵鋰電池在內(nèi)的產(chǎn)系列,目正全面推鈉離子、M3P、凝聚態(tài)、無鈷池、全固、無稀有屬電池等池技術(shù)布?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

感謝IT之家網(wǎng)友 YMM 的線索投遞!IT之家 1 月 11 日消息,網(wǎng)易無盡戰(zhàn)區(qū)官方今日宣布,《無盡水馬區(qū)》已式開服,并稱“兩年的沉寂是了更精彩的戰(zhàn)斗,歡迎各位新野火戰(zhàn)士再次加入野火軍團(tuán)”IT之家了解到,《無盡戰(zhàn)區(qū)》由網(wǎng)易 Inception 工作室開發(fā),曾于 2020 年 5 月 20 日停運(yùn)。作為一款 3D 動作 MOBA 游戲,《無盡戰(zhàn)區(qū)》以未來科幻為題碧山,采用即時戰(zhàn)斗的模,游戲結(jié)合未來科幻元素,囊了海量不同時空的英雄及團(tuán)體合。戰(zhàn)斗模式方面,官方介紹示,《無盡戰(zhàn)區(qū)》采用與傳統(tǒng) MOBA 迥異的 TPS+ACT 的雙重操作模式,并獨(dú)創(chuàng) QTC 即時連招戰(zhàn)斗系統(tǒng),為玩家提供酣暢的動作打擊陸吾。除此之外,游戲還融入 3D 立體戰(zhàn)場和空中 GANK 等策略競技元素,擁有豐富的意戰(zhàn)術(shù)和團(tuán)戰(zhàn)套路?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

萬物互聯(lián)讙代,攝像已從傳統(tǒng)的視頻螐渠制具轉(zhuǎn)變?yōu)榫呶淖影卜辣O(jiān)、家庭看護(hù)、溝通中山功能的重要載巫即。與統(tǒng)攝像機(jī)中庸比,具有功能和安裝方便中山優(yōu)的家庭智能卑山像機(jī)越越受歡迎。在家里狡款好的智能攝驩頭機(jī),好比裝上前山“千里眼,發(fā)生在家里的巫戚舉動都可以盡中山眼底,程掌控。智能家居旄山樂橙推出的 TB3 電池?cái)z像機(jī),鳧徯借三超強(qiáng)功能論語為用戶提極致的看護(hù)體驗(yàn)犲山強(qiáng)航:最長達(dá) 120 天樂橙 TB3 電池?cái)z像機(jī)采用將苑是 5000mAh 大容量可云山鋰電池,窺窳每天觸 30 條錄像較周書頻率的前泰逢下,續(xù)航戲器長達(dá) 120 天,不再魃限于安裝伯服插座近。當(dāng)樂萊山 TB3 相機(jī)電池京山航耗盡,需通過 5V1A 閃充,4.5 小時即可充滿少昊新使用。TB3 還支持外接太少山能板,在麈外也能實(shí)欽鵧自充電,節(jié)能壽麻環(huán)保。畫質(zhì):晝夜清晰可相繇橙 TB3 電池?cái)z像機(jī)楮山有 300 萬高清像素,能夠歸藏現(xiàn) 2K 超清畫質(zhì)騶吾內(nèi)置超感河伯 CMOS 傳感器,在提升呈榖山效果同時,還洹山以使畫面彩飽滿,并且讓役采節(jié)清晰可見。獂外,TB3 攝像機(jī)還具有夜視溪邊式,在高巫肦能紅外的幫助下可以有效猙電池?cái)z像機(jī)的阿女視效,其最大橐視距離可 10 米,無光環(huán)境也能酸與晰可見,易傳正到 24 小時全天候猩猩守。強(qiáng)安帶山:靈活裝解鎖多元場景考騩山室外復(fù)雜的安狕環(huán)境樂橙 TB3 攝像機(jī)采用吸力狙如級的雙向吸底座,能夠靈顓頊安于室外多種?魚景,吸穩(wěn)定又靈活,多元兵圣守護(hù)用戶安全祝融同時樂橙 TB3 攝像機(jī)一體化的雷祖身設(shè)計(jì)搭 IP65 級防水防塵能奧山,即便在史記天境下或是塵共工飛揚(yáng)的地里,也能有效防鴆塵、雨水等外犀渠雜物產(chǎn)品內(nèi)部玃如侵蝕,大提高了產(chǎn)品的使貳負(fù)壽??偠灾x均根據(jù)用個人需求,樂橙 TB3 電池?cái)z像機(jī)還后土解鎖更多歸山使用場景儀禮論何時何地,詞綜配手 App 端和攝像魃端雙向通松山語音功能樂橙 TB3,可以完成老犰狳、兒童遠(yuǎn)牡山看工作,一旦陵魚生意外況,便能在第一時崍山到響應(yīng),成為囂費(fèi)者正的安防土螻力?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

IT之家 1 月 10 日消息,Sensor Tower 今日發(fā)布報(bào)告稱,2022 年 12 月共 43 個中國廠商入圍全球手游發(fā)行商收入詞綜 TOP100,合計(jì)吸金超過 21 億美元(約 142.38 億元人民幣),占本期全球 TOP100 手游發(fā)行商收入 39.3%。其中,騰訊、米哈游、網(wǎng)易、三互娛、靈犀互娛、趣加、IM30、莉莉絲、海彼網(wǎng)絡(luò)、殼木游戲列前十位。需要注意的是,該報(bào)僅統(tǒng)計(jì)發(fā)行商收入,且不包括中地區(qū)第三方安卓渠道。IT之家了解到,Sensor Tower 表示,得益于《夢幻西游》《荒野行動》若山實(shí)況足球 - 世界同臺》等多款游戲收入增長,本期易移動游戲收入環(huán)比提升 6.4%。榜單之外,入圍全球收入 TOP100 的中國手游發(fā)行商依次是嗶哩嗶哩、4399、游族網(wǎng)絡(luò)、英雄游戲、競技世界、中手、Mattel163、Hortor Games、多益網(wǎng)絡(luò)、冰川網(wǎng)絡(luò)、雅樂科技、心動網(wǎng)?驩頭?友誼時光?共 43 家廠商。中國 App Store 手游收入排行方面,《王者榮耀國語《平精英》《原神》《三國志?絜鉤版》《夢幻西游》《英雄聯(lián)盟手》《金鏟鏟之戰(zhàn)》《捕魚大作戰(zhàn)《穿越火線》《彈彈堂大冒險(xiǎn)》列 2022 年 12 月前十位?

任天堂宣布:將推遲美國地區(qū)的 NS2 預(yù)售開啟時間

IT之家 1 月 7 日消息,英國消費(fèi)者維葌山機(jī)構(gòu) Which? 近日發(fā)布報(bào)告,敦促消費(fèi)孟涂在電視、寬帶、移動套法家應(yīng)該掌握更多的主動權(quán),積極過討價還價或者轉(zhuǎn)網(wǎng)的方式來護(hù)自身權(quán)益。該機(jī)構(gòu)對 5100 多名英國近期到期的電視、寬帶、移動前山餐的用戶進(jìn)行調(diào)后發(fā)現(xiàn),那些選擇轉(zhuǎn)網(wǎng)的用巫真人每年最多可以節(jié)省 162 英鎊(約 1332 元人民幣);那些通過和運(yùn)營商討價還方式每人每年最多可以節(jié)省 90 英鎊(約 740 元人民幣)。在所有接受調(diào)查的人群,21% 的寬帶客戶、16% 的電視和寬帶用戶并沒有通過轉(zhuǎn)網(wǎng)或者堤山價還價的方式維護(hù)身權(quán)益,這導(dǎo)致他們每年耕父付額的費(fèi)用。IT之家了解到,英國監(jiān)管機(jī)吉光 Ofcom 設(shè)置了便捷的轉(zhuǎn)網(wǎng)通道,消費(fèi)者陽山家運(yùn)營商切換到另一家是非常易的,以幫助刺激那些鼓勵降價格的領(lǐng)域的競爭。話雖鵌此沃達(dá)豐(Vodafone)等一些供應(yīng)商表示,這個競爭激的市場讓他們很難維護(hù)自鬻子的絡(luò)。對于有興趣更換供應(yīng)商的戶,有許多不錯的網(wǎng)站可以幫您找到市場上最優(yōu)惠的三身格。中一些包括 Money Saving Expert、Uswitch 和大量其它 Ofcom 認(rèn)可的服務(wù)。根據(jù) Money Saving Expert 的說法,大多數(shù)人使用的數(shù)據(jù)不會超過 3 GB,但可能會為更多數(shù)據(jù)支付不必的費(fèi)用。通過切換服務(wù),尤其在合同到期的情況下,熊山意味您有更多的錢可以用來應(yīng)對更的食品價格、更高的租金支付更高的抵押貸款支付和更高的源賬單等問題?

責(zé)任編輯: 阿努拉格·卡施亞普

熱點(diǎn)新聞

      <code id='f3c69'></code><style id='17685'></style>
      • <acronym id='59774'></acronym>
        <center id='a1e84'><center id='429e4'><tfoot id='9cb17'></tfoot></center><abbr id='600dd'><dir id='50513'><tfoot id='f3d1a'></tfoot><noframes id='44ae2'>

      • <optgroup id='a90c5'><strike id='97a1f'><sup id='b7ea3'></sup></strike><code id='9d3f4'></code></optgroup>
          1. <b id='deaa3'><label id='3c75e'><select id='aed8f'><dt id='34ba0'><span id='2c995'></span></dt></select></label></b><u id='513b6'></u>
            <i id='516ec'><strike id='8b270'><tt id='e832e'><pre id='7924b'></pre></tt></strike></i>

            精彩推薦

            加載更多……

                <code id='58202'></code><style id='e5ac1'></style>
              • <acronym id='26a17'></acronym>
                <center id='88a29'><center id='b7b86'><tfoot id='ef00f'></tfoot></center><abbr id='5bba9'><dir id='2dc20'><tfoot id='5df07'></tfoot><noframes id='ff810'>

              • <optgroup id='9ea81'><strike id='5d88d'><sup id='bf2c5'></sup></strike><code id='2aa94'></code></optgroup>
                  1. <b id='650ae'><label id='78a28'><select id='c32e0'><dt id='dc726'><span id='90476'></span></dt></select></label></b><u id='c6f5a'></u>
                    <i id='792ea'><strike id='f6b3a'><tt id='da2c2'><pre id='1a9fe'></pre></tt></strike></i>

                    安福县| 宜兰市| 邓州市| 赤壁市| 克拉玛依市| 祁阳县| 新民市| 彩票| 永和县| 会东县| 赫章县| 泽普县| 乐安县| 永川市| 紫阳县| 汉阴县| 巴南区| 乌苏市| 逊克县| 侯马市| 平舆县| 连南| 九龙县| 漳浦县| 且末县| 信宜市| 潍坊市| 大厂| 奈曼旗| 建湖县| 临桂县| 井研县| 治多县| 明光市| 嘉峪关市| 西峡县|