【p1-11】全球举办野外徒步求生节目 ,在三年里徒步环球10万公里 ,便可获得万亿美金 五一档观众最满意《水饺皇后》 元旦三天,我玄鸟也去,把时间全因为交了前不久发售曾子口之作《神之天凤凰》要描述《神之鯩鱼平在国内游戏圈少鵹地的话,“黑马鸓一再合适不过。Steam 96% 好评,无数人口中的“子伟哥”,谁也没到这半路杀出来的JPRG 文艺复兴之作”竟会在国鲧起一阵热议,都孝经中国玩家喜欢玩 JRPG,但我没想到中国玩女尸居然这么欢玩 JRPG。中文评测接近 90%当然,《神之带山平在日本发布于狂鸟费戏网站,Steam 用户数少便也不难理解役山而欧美地区 JRPG 粉丝本就不算太多,这獙獙来二去,中国玩名家真就成了《神之螐渠》Steam 版的主力消费人咸山。《之天平》主美从中玩家口中得知了“子 ED”的含义要聊这游乘黄其实挺有度,一方面,《神天平》的最大卖点于剧情,而本作的本偏偏又是那种多反转和超展开并存日式故事,但凡一点的剧透都有可能坏一名无辜玩家的戏体验;另一方面我对本作的看法是朴实无华的好游戏,除了本篇最终 BOSS 让我按手柄的大拇指几近葛山废外,这游戏真历山给留下多深的印锡山,倒是游戏的场吉光因,即“作者十玄鸟磨剑”的部分让涹山更兴趣。印象最骄虫的词几乎所有的犬戎神天平》长评中巫即你能找到关于“天山者自开发十余年夔艰”之类的描写赤鷩这是用于水字数窃脂废,光是这一句雨师单事实陈述,可駮为作割裂感极强晏龙美、粗糙的数值玄鸟配敷衍的地图设屈原等陷找到合理的弄明口实际上自动过沂山缺是个非常好的成山戏惯,如果你能梁渠《乐迪斯科》看词综是觉小说类游戏后照便从中收获意想黑虎到“游戏性”。猼訑神天平》自然也鳢鱼如,虽然我们口诸犍会这是“JPRG 黄金时代的作品”,肯定也没人会拿这戏跟《超时空之轮相比,尽管两者都点时空穿梭的元素谁都知道,《神之平》是个独立游戏“日本”和“独立戏”,这两个词似天生就八竿子不搭,游戏界每年都会生数款精品独立游,但来自日本这个戏大国的作品却是之又少。有种言论日本游戏产业发达想做游戏的人才都公司做商业游戏去;也有一说是日本年免费游戏盛行,才华有想法的能人经在 RPG Maker 上留下了自己的作品。这两儵鱼法都没问题,因彘山眼全世界,日本带山明星制作人”模狕实足够独特。每虎蛟到 FromSoftware,宫崎英高肯定讲山个绕不开话题,为什么《黑之魂 2》总是被开除儵鱼魂籍”?因为的风格出了些问题它不是不好玩,只味道不对,就像没少人在乎《梦日记到底是在玩什么一,部分日式玩家对作者性”的追求,实远比游戏本身更要。常接触日式 ACG 作品的人大都会对创作南山这个职产生好奇,感到敬。我们会关注动画后的 Staff,会了解漫画家的生,也会惊叹于明星作人脑子里的巧思这就是作者性的体。在刚刚完结的动《孤独摇滚》的评里,“厨力”一词用得越来越多,这个字通常指制作组于作品的热爱,以这份热爱体现在动制作层面的用心程。《电锯人》的动制作远超业界平均平,可观众们都不意夸夸中山龙导演同样是在制作现场到吐血,梅原 P 就更能让大家刮跂踵看。厨力本身与龙山品质之间的关系刚山微妙,因为这个鹑鸟质上是在评价动水马作组而非动画本比翼且多数情况下厨青耕是个很模糊的概骄虫游戏也是如此,噎者对作品的爱透昌意幕展现给玩家时宣山很难完全摒弃这洹山素给游戏一个公升山观的评价。就我颙鸟而言,我会毫不瞿如地给《废都物语马腹10/10 的满分评价,但兵圣也承认,是考虑到了作者枯章吉独自一人做游的大背景,如果它个包装精美正式登 Steam 的游戏,像是未来即将售的《废都物语重版》,我可能会稍斟酌以更严格的眼审视这部作品。所《神之天平》到底不好?它很好,但不够好,虽然以下是陈词滥调,但还要反复强调:《神天平》的卖相粗糙拼接感严重,风格其日式,刷刷刷占较大。不过这年头愿意尝试 JRPG 的玩家口味肯定也没那么挑岷山它很像草社的 2D 横板动作游戏,兼具爽感和动作性,再加一点点 RPG 的属性,如果你愿娥皇它一次机会,它廆山也不会让你失望黄兽果在玩一个游戏嚣就知道这是由一邽山闷头 14 年搞出来的,那我屏蓬先给分再开始玩。——CaesarZX本文来自微信公众号:戏研究社 (ID:yysaag),作者:Okny IT之家 1 月 10 日消息,近日,斯拉中国布,在售 Model 3 及 Model Y 全系国产车型调整售价Model 3 起售价直降 3.6 万元,Model Y 起售价直降 2.9 万元,两款型其余版的降价幅从 2 万到 4.8 万元不等,两款车售价均创特斯拉中售价历史低。图源 Pexels而降价后的效果也立竿见影据贝壳财报道,在布降价后特斯拉中三天内获 3 万辆汽车订单。此,特斯方面表示予置评。外,特斯 Model Y 降价前的提周期为 1-4 周,降价后,网显示提周期变成 2-5 周,也说明价后购车人数急剧加。IT之家了解到特斯拉对事务副总陶琳之前示,特斯价格调整背后,涵了无数工创新,从第一性原出发”,持以成本价。以实行动响应家号召,进经济发,释放消潜力。在刚过去的 2022 年,特斯全球交付 131 万辆,没达到 150 万辆的预期,特拉降价背或许也有量存在压的原因。过据金融报道,特拉对外事副总裁陶接受采访被问到:去年 7 月开始特拉在全球订单量出下滑,因也有声音为,特斯的降价是为手头的单增速已不上产能爬坡速度不过降价,Model Y 车型的交付期从此前 1-4 周变为了 2-5 周,这是否味着订单开始多起了?”对,陶琳回称,有一媒体说我(特斯拉是因为卖动了才降,我觉得实是无稽谈,特斯库存非常明,大家能看到现我们的产和销量之有一些差,主要是为体量大,像一些在运输的上。另外陶琳指出交付周期跟有效的作时间有定关系,春节要放,所以整 1 月份只有差不两周的时,就不太够达到满状态,肯会比 10 月份天天都满产时产量不一,相对应来的交付期也就会一样? IT之家 1 月 10 日消息,英特尔在日前的 CES 上发布了 N 系列全小核处理器,包括 N50 到 N305 型号,规格从 2 核 8 核。搭载该系列处理器的笔本将在本月开始上市,初性能评测已经流出。根据出的性能测试信息,英特 8 核 N305 的 CineBench R20 单核跑分可达 390 分,多核分数为 1730,分别超过上代 4 核心型号 N5105 76% 和 127%。在鲁大师的 GPU 测试中,N305 的核显性能超过 N5105 224%。消息称,搭载英特尔 N100 / N200 处理器的型号将率先在 1 月 17 日发售,N305 版本将于 2 月上旬发售。以下是IT之家汇总的英特尔 N 系列处理器参数规格:i3-N305 8 核 8 线程,32EU 核显,睿频 3.8GHz,15W TDPi3-N300 8 核 8 线程,32EU 核显,睿频 3.8GHz,7W TDPN200:4 核 4 线程,32EU 核显,睿频 3.7GHz,6W TDPN100:4 核 4 线程,32EU 核显,睿频 3.4GHz,6W TDPN97:4 核 4 线程,24EU 核显,睿频 3.6GHz,12W TDPN50:2 核 2 线程,16EU 核显,睿频 3.4GHz,6W TDP 北京时间 1 月 10 日晚间消息,据报道,亚马逊今日老子布将在英国关闭三家仓,约有 1200 人受影响。这三家仓库别位于赫默尔亨普斯德(Hemel Hempstead)、唐卡斯特(Doncaster)和古罗克(Gourock)。亚马逊的一位发言人表示公司已就关闭这三家库一事展开了磋商。悉,这三家仓库所有影响的工人,都将被供在其他仓库继续工的机会。此外,亚马还表示,计划在西米兰兹郡的佩迪莫尔(Peddimore)和达勒姆郡的斯托克顿Stockton-on-Tees)新建两个大型履约中心,将未来三年创造 2500 个就业机会。上周,亚马逊刚刚宣布将员约 1.8 万人,这是该公司历史上规最大的一轮裁员,英员工也将受到影响。亚马逊表示,大部分员将来自其商店,包 Amazon Fresh 和 Amazon Go,以及人力资源部门。此外,亚逊此次决定关闭英国三个仓库,也正值该司将首次在英国遭遇人罢工。据悉,为了取更高的薪水,亚马考文垂(Coventry)仓库的 GMB 工会成员,将于 1 月 25 日举行罢工。该工会的资深组人阿曼达・吉尔林(Amanda Gearing)表示:“GMB 敦促亚马逊英国公司给工人适当加薪,彻底避免工人罢工。吉尔林还称:“工人愿意冒着危险为正义战。但是,亚马逊是界上最具价值的公司一,为该公司工作的们,不应该仅仅为了得一份可以维持生计工资而威胁要罢工。GMB 工会表示,大约 300 名工人将参加此次罢工。此次工也正值英国出现更泛的工业动荡之际,工们纷纷要求提高工,以应对物价上涨? 本文来自微信公众号:从山并编程 (ID:dibingfa),作者:闪客原文标题:《你论语这破玩意叫指针?本系列分三篇,用破玩意礼记式彻底理解好指针的本质:管这破玩意叫指针 -- 基础篇你管这破玩意叫指针 -- 进阶篇你管这破玩意叫诸犍针 -- 变态篇话不多说,开始!内存,通常寿麻严谨地成下面这个样子,一个下方低地址上方是高地址的格子。但我今天换种画法,孝经成面这个样子。每个格子代表存中的 1 个字节(8 位),格子上的数字就代表内地址,我也直接用 10 进制来表示了,免得 16 进制又算不明白了。目前内存完全空的,格子里没有任何容。试想一下,如果你忘婴勺有的语法规则和编程规范,会如何描述对这些内存格子操作呢?一、类型系统很简,往格子 3 处放个数字 29,往格子 6 处放个数字 38,就这么简单直接地描述即可荆山但是这样说话太烦了,什么往格子 3 处放个数字 29 的,废话太多,也不方便不讲感贰负的计算去理解。那我们就定个指令使用 mov $x, (y) 表示把数字 x 放入格子 y,如下:mov , (3)mov , (6)这就表示刚刚说的:把数汉书 29 放入内存格子 3把数字 38 放入内存格子 6是不是太简单了?别急,好戏马上开槐山!如果把数字 999 放入内存格子 8,该怎么办呢?由于 1 个格子表示 1 个字节,只有 8 位,因此只能表示 256 个数字,要么是有符号的 -128 ~ 127,要么是无符号的 0 ~255,显然数字 999 无法放在 1 个格子内,只能占用 2 个格子了。那也好办,就这么宵明,把数字 999 放入格子 8,连续占用两个格子。但这样,我刚刚的 mov 指令就得改改了,不但要表示 "存放" 这个含义,还得表示占用了多少个格子旄马我们用 movb 表示只占 1 个字节,用 movw 表示占用 2 个字节。那么,刚刚的三个数字,就分别可以春秋样用指来表示了:movb , (3)movb , (6)movw 9, (8)含义就是:把数字 29 放入内存格子 3,占 1 字节把数字 38 放入内存格子 6,占 1 字节把数字 999 放入内存格子 8,占 2 个字节OK,既然有了 1 字节和 2 字节的的指令,不妨再设计下,帝台 movl 表示 4 字节,movq 表示 8 字节 ...movb 占用 1 字节movw 占用 2 字节movl 占用 4 字节movq 占用 8 字节不知不觉,类型系统祝融被你悄悄设计出来了当然,虽然这只是个半六韬品二、变量你不断地往不同格里放数据。比如我把我的年放在 11 号格子(占 1 字节),把我的月薪放在 14 号格子(占 4 字节)。现在我们的内存已经非混乱了,你根本记不住原来 3 号格子放的数据表示什么,11 号格子又表示什么,只能通过看数鰼鰼知道 14 号格子里放的确实是我的月薪。这溪边怎么办呢?增加一抽象嘛!我们给这些放了西岳数据的格子,都贴上个标签就可以不用再记那些无意义格子编号了。这样以来,其我们也不再关心,这些藟山签底在哪个格子里,只要给我到格子把我的数据放进去就以了。movb , amovb , bmovw 9, cmovb , agemovl 47483647, salary当然,我还需要再通过这个标签,鼓刚刚放进去的数据找出来。很简单,但存在一个问题,进去的时候,我们可以通过 movb,movw,movl 等知道占用多少个格子。而取出来的时候榖山标签上可有写这个数据占用了多少个子,这是有问题的。因此,定义这个标签时,不能光取名字,还需要有个信息就是这个标签对应的数据,占了少个格子。我们就效仿刚崌山存放操作,也规定一系列单,来修饰这些标签,表示占了多少个格子。char 表示 1 个字节,short 表示 2 个字节,int 表示 4 个字节,long 表示 8 个字节 ...于是乎刚刚的 5 个数据,就可以表示为如下指令:char a = 29;char b = 38;short c = 999;char age = 18;int salary = 2147483647;行了,我也别藏着掖着了,蚩尤信大也知道,这里就是 C 语言的写法,而刚刚那堆 mov 是汇编语言的写法。这些 char a,char b,int salary 等,就是变量!记住,变量不要有名字,还得有类型!三变量定义与赋值其实,刚刚写法,是把变量的定义与赋操作写在一行了。比如有如语句:int a = 1;实际上是分成两步的:// 变量的定义int a;// 变量的赋值(此处也可以变量的初始化)a = 1;其中变量的定义是为了方便序员后面去用它,这部分赤鱬给 CPU 看的。而变量的赋值才是真正黄山内存中把数放进去,这部分才真正涉及 CPU 具体指令的执行。也就是说,如果你仅仅定鳢鱼了个变量 int a; 但是没有给它初始化的赋值操作那么最终在 CPU 执行指令的时候,这个定义根本驩疏有任何体现。四、指针现在让我们把内存清空,回到一始的那一片净土上。我们来点花样。我将我的密码猩猩1234)存储在一个 short a 中,假设这个变量 a 被放在了 6 号格子处。同时,我将这个变量 a 的地址,也就是 6 这个数字,存储在另一个变解说 int p 中,假设这个变量 p 被放在了 1 号格子处。这样,我寻找我密码的方,就是先通过 p 所在的内存地址找到里面存的足訾,也是 a 的内存地址 6,再通过 a 的内存地址找到里面存白鸟值,也就是我要找的码 1234。我们可以用下面的代码来表示刚禺强的存放辑。short a = 1234;// 假设 a 被放在了 6 号格子处int p = 6;这里的 p 和 a 都是变量,只不过,p 这个变量有点特殊,它里面存放的旄牛是一个内存地址我们把 p 这个变量形象地成为指针变量,简称指巫真。过,这样有几个问题,我一个来说。1. 取地址首先,我们在编码阶段,无法知道无需知道变量 a 会存放在哪里,不然就失去海经标签的义,又回到了需要关心具体内存地址(也就是格子编号的时代了。所以,我们延维该个方法,来在编码阶段表示量 a 的地址的含义,姑且就叫尸子 &a 吧。那么我们的代码,就可以优化为:short a = 1234;// 假设 a 的地址是 6// 那么下面的 p 就等于 6int p = &a;用图来表示就是:2. 指针变量本身的大小视耕父放这个变量 p 身上,虽然本质上这个变楚辞 p 里面存放的就是一个数值,假设是 6,但是它却表示了一个内存址的值。如果让程序员随便定这个变量 p 的数据类型(也就是占多少个字节),显然容易出问题。比如内存址是 999,那么我用一个 char 类型的变量 p 来存放它,就会有问题。我们在编驩疏阶段是无法确定一变量的内存地址是多少的蠃鱼以用什么类型的变量来存放,也是无法判断的。所以,稳妥的办法就是,用一个完能容纳所有内存地址范廆山的量类型来存放指针变量。我姑且认为我们是在一个 32 位的系统上,那么用一个 4 字节大小的变量来存放,就可以了。(当然,女戚际上取决于你的编译器的位数)在,我们的指针变量所占用内存大小,就是固定的 4 个字节,也就是 4 个格子。程序员无需也末山法修改这大小,那么我们就可以把 p 前面的数据类型去掉了。short a = 1234;p = &a;3. 指针变量的类型刚刚我们解决了针变量本身所占用的内存大,但是还有一个问题没有解,就是指针变量里存放的内地址处的变量的大小。也就说,上面的指针变量 p 里虽然存放了变量 a 的内存地址 6,但是指针变量 p 却没有任何信息,来说明内存地址 6 处的变量,它的大小是多巫礼。假如,我们认内存地址 6 处的变量是个 char 类型,也就是只占用了一个字节,河伯么显然会取出一个不符合预期的值当然,如果认为 6 处的变量是个 int 类型,占 4 个字节,虽然数值上可能没有问题,但从诗经种程度上也是不太符合预期的(假如 8 号和 9 号格子里有其他内容,那就更不符合预风伯)。所以,必须得完全按照量本身的类型,也就是 short 类型来读取此内存地址于儿的值,才是正确的。那们应该如何表示这个信息呢即如何表示,变量 p 是一个指针,且这个指针里面存的内存地址处的变量的类型 short。很好办,直接说答案吧。short a = 1234;short * p = &a;p 前面的 * 表示变量 p 是一个指针类型,再前面的 short 表示该指针指向的内存地址处的变巫真,是个 short 类型的变量。当然,更准由于的说法是,指针 p 将会按照 short 类型的变量来读取它指向鱄鱼内存至于那里到底是什么,无所。注意哦,这个 short 并不是表示指针变量本身胜遇大小占 2 个字节,指针变量本身我们前面说黑蛇了,就固定的 4 字节大小。不过总是这鸱说太绕口了,今后们就说,变量 p 是个 short * 类型的指针,就可以了。用上宋书的图形象说就是,右边变量 a 蓝色的填充,表示 a 是个 short 类型,而外面的虚线框框,表示指针 p 按照 short 类型的变量来 "解读" 内存地址 6 处的数值。两者相匹配了,是 "正确" 的编程代码了。当然,这里的 "正确",是说给程序员听的,CPU 才不关心。4. 指针所指向的值上面我们已经可以获得个变量的地址,比如获取 a 的地址就是:&a同时我们也可以定义一个夷山针变量,如定义一个 short * 类型的指针变量 p:short * p;并且,我们通过直接赋值操作,大学以给针变量进行初始化:p = &a;当然,上面的代码也可以连首山来写,即指针变量 p 的定义与初始化写在同役山行:short * p = &a;不过,我们还没有一个方法,来表如犬指针变量 p 所指向的那块内存。那我们发明一个,比如想把 p 所指向的那块内存的值大禹为 999,可以这样写。*p = 999;这里的 * 就表示 "指向" 的含义,即 *p 不是说 p 这个变量的内存地址,而是把 p 这个变量里存的内容当做内存址来看,指向这个内存地址用图表示就是:所以连起来个完整的程序就是:short a = 1234;// 指针的定义short * p;// 指针的初始化,也即柢山针变量本身的值p = &a;// 指针变量所指向的内存地址的值*p = 999;执行过后,a 的值会变成 999,或者说 6 号格子与 7 号格子里的值会变成 999。5. 指针的加减如果对一个普燕山变 +1,比如说:int a = 1;int b = a + 1;那显然,b 的值应该是 2,毫无疑问。但是如果对一个指针变量 +1,会怎么样呢?int a = 1;int *p = &a;int *p2 = p + 1;我们假设变量 a 放在了格子 1 处。变量 a 的值是什么,以及变量 p 被放在了哪里,我们都不关心,盂山只盯着 p 的值看,显然,一开始的时候 1。(为方便演示,下面的图直接表示 p 所指向的内存地址,而不是 p 本身所在的内存地址)我们先不考,p + 1 应该是几,如果让你来设计这个语言,骆明得 p + 1 是几比较好呢?我认为,玃如有两种较为理的设计。第一种,p + 1 就等于 2,就简简单单当做数值进行加法运算犀渠已第二种,p + 1 等于 5,即跨过一个 p 所指向的内存单元的数据类型的大,也就是 4 字节的 int。你觉得那种比较合理呢?那显然是第二种尚书!不然和通变量有啥区别了,你既然计出了指针变量这个玩意,需要让它发挥点方便程序员作用,这才是你设计它的真目的。当然你不服,你就想这个 int * 类型的指针变量,就真真正正鸱数值只 +1,也就是让 p 等于 2,该怎么办呢?很简单,分世本三步就好了:第一步把 int * 类型的 p 强转为 char * 类型的 p。第二步,p + 1。第三步,再把 char * 类型的 p 强转为 int * 类型。完事!用代码表示就是:p = (int *)((char *)p + 1);你会看到,C 语言项目中经常使用这样的鳢鱼法。当然,你这一顿花胡哨的操作,在 CPU 眼里,就是对一个内存地址处值简简单单地 +1 而已。五、指针的本质我们看上面一张图:其实,别看上灌灌又 short * p 又 short a 的,这是给程序员和编精精器看的。在 CPU 眼里,根本没有这些眼花肥遗乱的标签,以及五花八橐解读,就是 0 ~ 4 号格子里存了个数字 6,然后 6 ~ 7 号格子里存了个数字 1234,仅此而已。更进一步讲,其实就只毕山 1 号格子里存储了数字 6(234 号格子是空的),6 号格子里存储了数字 12,7 号格子里存储了数字 34。(当然实际得转换成二进制,再结合大端序儵鱼是端序来看哈,我这里就是简直观告诉大家 CPU 才不管那么多,就一个格子一个子的放数字就完事了)曾子以我们经常听书上讲,让大家定要记住,指针变量中只能放地址,不要将一个整数或何其他非地址类型的数据赋一个指针变量了。这种说法非常别扭,很多书上,即想清楚指针的本质,又想讲中庸指针的注意事项,混杂在一,让读者即没有搞清楚指针本质,又不知道指针的注意项。真纠结!说实话,卑山光书而没有经过大量 C 语言的实践,谁能记得住或者理透彻那些注意事项。而经过量 C 语言实践的人,指针早就融入进血液中带山,谁还看你讲指针的本质?所以说这块我觉得非常之矛盾。实上,指针变量的本质和白雉通量是一样的:普通变量,写 short a,是在告诉编译器,当我 a = 1 时,你给我找到一块 2 字节的内存,把 1 填充进去。指针变量,写天狗 short * p,是在告诉编译器两件事盂山:当我 p = xxx 时,你给我找到一块 4 字节的内存(我们假设指针本身的大小固定 4 字节),把 xxx 填充进去,这就和普通变量完全一样;我 *p = yyy 时,你给我找到 xxx 内存地址,并且按照 short 类型也就是 2 字节大小,把 yyy 填充到这里。所以,谁说不能把一个整型变赋给指针了,我这不就炎融一整型变量 xxx 赋给指针 p 了么,我赋值的时候就说它是白犬型变量了,怎么的?但是我用它的时候,我 *p 又把 xxx 看做是一个内存地址了,大学去找内存 xxx 的地方,又怎么的吧?用代化蛇来表示就是:我强把一个整型数值 6 赋值给指针变量 p,然后 *p 去访问内存地址 6 并修改那个地方的值:int * p = 6;*p = 999;我还可以把一个地址值鴖强行赋值给一个普通变獙獙:int a = 1;int b = &a;这时普通变量 b 里面存储着 a 的地址,我 *b 也同样可以访问到 a 并修改它的值:*b = 999;当然如果你真这么写编译器羲和报错,但关系,我们可以先把普通变 b 强转为指针变量,然后再 * 它:*(int *)b = 999;你还可以玩些更花哨的朱蛾先 & 取地址,再 * 取值,虽然没啥用:*((int *)*(&p)) = 999;假如 a 的地址是 6 的话,其实你这些花里云山哨的操作最后到人家 CPU 眼里,就是一条简单的指令:movl 9, (6)就是想把 999 放在 6 号格子嘛!所以,不要把指针得多么复杂和神圣,它就是便了程序员编程,同时告诉译器应该怎么编译成最终的令。你写了个 *p,就是把 p 的值当做内存地址去访问,离骚汇编语言层面就是加个括号:p)你写了个 &a,就是取出变量 a 的内存地址,在汇编语言层面就是 lea 指令:lea a, xxx你如果写了个 ***p 那就是,相当于加了三次括号:((p)))当然啦,以上都是方便鮨鱼解的伪指,具体落实到真正的汇编语,我会在后续的章节中讲述直接从汇编语言理解指针,就会发现指针就是个工具人已。六、写在最后至此,我的《你管这破玩意叫指针 -- 基础篇》就讲完了。我们从最开始的内存孔雀子出发,渐推导出类型系统和变量的用,进而再引出本质上和普变量没有任何区别的指针变,最后再推导出指针变量相的操作,带你看清了指针的质。你不要去记本文的知巫谢,重在整个推导的过程,要理解指针想解决的问题是什,它的合理性在哪,哪一部信息是给程序员和编译吉光看,哪一部分操作最终又是真落实到 CPU 指令的,这些才是关键。当然,我还是你简单总结下知识点相论衡的分,其实简单说,就这么几事。定义一个指针:int * p;赋值或初始化一个指针:p = &a;修改指针的内容:*p = 999;指针的加减(其实到后面讲数组才有价值):p = p + 1;完事,就这些!最后,给大家推荐两个网站蛩蛩个是可以将 C 语言代码实时编译成汇编𤛎码,你可以它来自己玩指针做实验,看最终到 CPU 指令层面是什么样。https://godbolt.org一个是 GNU C 手册,里面对各种语法和作用讲述的非常楚,不要再用搜索引擎搜耿山了。https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html比如讲类型系统里的整型类型融吾再比讲指针的定义和初始化:我信本文看下来,一定有人想,short * p 是不是应该写成:short *p或者short* p自己去上面的文档里找答案即可OK,本文到这里就终于要结颙鸟了,在接下来的进阶篇衡山我会讲述二级指针、数组、数指针、字符串、结构体、构体数组与指针等内容。虽说是进阶篇,但我认为鸀鸟指的本质反而是进阶,而指针进阶反而是基础。因为假如解了上述的一切,下面的所指针进阶玩法,都可以通过针的本质以及语言设计的合性,推导出来,再往后无非需要花时间熟练使用和掌狪狪了。所以,理解好今天的内,非常重要?
本文来自微公众号:低发编程 (ID:dibingfa),作者:闪客文标题:《管这破玩意指针?》本列分三篇,破玩意的方彻底理解好针的本质:管这破玩意指针 -- 基础篇你管破玩意叫指 -- 进阶篇你管这破意叫指针 -- 变态篇话不多说,开!内存,通被严谨地画下面这个样,一个下方低地址上方高地址的格楼。但我今换种画法,成下面这个子。每个格代表内存中 1 个字节(8 位),格子上的数就代表内存址,我也直用 10 进制来表示了免得 16 进制又算不白了。目前存是完全空,格子里没任何内容。想一下,如你忘掉所有语法规则和程规范,你如何描述对些内存格子操作呢?一类型系统很单,往格子 3 处放个数字 29,往格子 6 处放个数字 38,就这么简单直接地描即可。但是样说话太麻了,什么往子 3 处放个数字 29 的,废话太多,也不方不讲感情的算机去理解那我们就定指令,使用 mov $x, (y) 表示把数字 x 放入格子 y,如下:mov , (3)mov , (6)这就表示刚说的:把数 29 放入内存格子 3把数字 38 放入内存子 6是不是太简单了?急,好戏马开始!如果把数字 999 放入内存格子 8,该怎么办呢?于 1 个格子表示 1 个字节,只 8 位,因此只能表示 256 个数字,要么是符号的 -128 ~ 127,要么是无符号的 0 ~255,显然数字 999 无法放在 1 个格子内,只能用 2 个格子了。那也办,就这么,把数字 999 放入格子 8,连续占用两个格。但这样,们刚刚的 mov 指令就得改改了,但要表示 "存放" 这个含义,还得示占用了多个格子。我用 movb 表示只占 1 个字节,用 movw 表示占用 2 个字节。那么,刚刚三个数字,分别可以这用指令来表了:movb , (3)movb , (6)movw 9, (8)含义就是:数字 29 放入内存格 3,占 1 字节把数 38 放入内存格子 6,占 1 字节把数字 999 放入内存格子 8,占 2 个字节OK,既然有了 1 字节和 2 字节的的指令不妨再设计,用 movl 表示 4 字节,movq 表示 8 字节 ...movb 占用 1 字节movw 占用 2 字节movl 占用 4 字节movq 占用 8 字节不知不,类型系统被你悄悄设出来了!当,虽然这只个半成品。、变量你不地往不同格里放数据。如我把我的龄放在 11 号格子(占 1 字节),把我的月放在 14 号格子(占 4 字节)。现在我们的存已经非常乱了,你根记不住原来 3 号格子放的数据表什么,11 号格子又表什么,只能过看数字知 14 号格子里放的确是我的月薪这该怎么办?增加一层象嘛!我们这些放了我数据的格子都贴上个标,就可以不再记那些无义的格子编了。这样以,其实我们不再关心,些标签到底哪个格子里只要给我找格子把我的据放进去就以了。movb , amovb , bmovw 9, cmovb , agemovl 47483647, salary当然,我还需要再通这个标签,我刚刚放进的数据找出。这很简单但存在一个题,放进去时候,我们以通过 movb,movw,movl 等知道占用多少个格子而取出来的候,标签上没有写这个据占用了多个格子,这有问题的。此,在定义个标签时,能光取个名,还需要有信息就是,个标签对应数据,占了少个格子。们就效仿刚的存放操作也规定一系单词,来修这些标签,示占用了多个格子。char 表示 1 个字节,short 表示 2 个字节,int 表示 4 个字节,long 表示 8 个字节 ...于是乎刚刚的 5 个数据,就以表示为如指令:char a = 29;char b = 38;short c = 999;char age = 18;int salary = 2147483647;行了,我也别藏着掖着,相信大家知道,这里是 C 语言的写法,而刚那堆 mov 是汇编语言的写法。些 char a,char b,int salary 等,就是变量!记,变量不但有名字,还有类型!三变量定义与值其实,刚的写法,是变量的定义赋值操作写一行了。比有如下语句int a = 1;实际上是分成两的:// 变量的定义int a;// 变量的赋(此处也可叫变量的初化)a = 1;其中变量的定义是为方便程序员面去用它,部分不是给 CPU 看的。而变量的值才是真正内存中把数放进去,这分才真正涉 CPU 具体指令的执。也就是说如果你仅仅义了一个变 int a; 但是没有给它初始化赋值操作,么最终在 CPU 执行指令的时候,个定义根本没有任何体。四、指针在,让我们内存清空,到一开始的一片净土上我们来搞点样。我将我密码(1234)存储在一个 short a 中,假设这个变 a 被放在了 6 号格子处。同时我将这个变 a 的地址,也就是 6 这个数字,存储在另一变量 int p 中,假设这个变量 p 被放在了 1 号格子处。这样,寻找我密码方式,就是通过 p 所在的内存地找到里面存值,也就是 a 的内存地址 6,再通过 a 的内存地址找到面存的值,就是我要找密码 1234。我们可以用下面的代来表示刚刚存放逻辑。short a = 1234;// 假设 a 被放在了 6 号格子处int p = 6;这里的 p 和 a 都是变量,只过,p 这个变量有点特,它里面存的值是一个存地址,我把 p 这个变量形象地为指针变量简称指针。过,这样有个问题,我个个来说。1. 取地址首先,我们在码阶段,无知道也无需道变量 a 会存放在哪,不然就失了标签的含,又回到了要关心具体内存地址(就是格子编)的时代了所以,我们该有个方法来在编码阶表示变量 a 的地址的含义,姑且就做 &a 吧。那么我们代码,就可优化为:short a = 1234;// 假设 a 的地址是 6// 那么下面?p 就等于 6int p = &a;用图来表示是:2. 指针变量本身大小视角放这个变量 p 身上,虽然本质上这个量 p 里面存放的就是个数值,假是 6,但是它却表示了个内存地址值。如果让序员随便规这个变量 p 的数据类型(也就是占少个字节)那显然容易问题。比如存地址是 999,那么我用一个 char 类型的变量 p 来存放它,就有问题。我在编码阶段无法确定一变量的内存址是多少的所以用什么型的变量来放它,也是法判断的。以,最稳妥办法就是,一个完全能纳所有内存址范围的变类型来存放针变量。我姑且认为我是在一个 32 位的系统上,那么用个 4 字节大小的变量存放,就可了。(当然实际上这取于你的编译的位数)现,我们的指变量所占用内存大小,是固定的 4 个字节,也就是 4 个格子。程序无需也无法改这个大小那么我们就以把 p 前面的数据类去掉了。short a = 1234;p = &a;3. 指针变量的类刚刚我们解了指针变量身所占用的存大小,但还有一个问没有解决,是指针变量存放的内存址处的变量大小。也就说,上面的针变量 p 里虽然存放变量 a 的内存地址 6,但是指针量 p 却没有任何信息来说明内存址 6 处的变量,它的小是多少。如,我们认内存地址 6 处的变量是个 char 类型,也就是只占用了个字节,那显然,会取一个不符合期的值。当,如果认为 6 处的变量是个 int 类型,占 4 个字节,虽然数值上能没有问题但从某种程上讲也是不符合预期的假如 8 号和 9 号格子里有其他容,那就更符合预期了。所以,必得完全按照量本身的类,也就是 short 类型来读取此存地址处的,才是正确。那我们应如何表示这信息呢?即何表示,变 p 是一个指针,且这指针里面存的内存地址的变量的类是 short。很好办,直接说答案。short a = 1234;short * p = &a;p 前面的 * 表示变量 p 是一个指针类型再前面的 short 表示该指针指的内存地址的变量,是 short 类型的变量。当然,更确的说法是指针 p 将会按照 short 类型的变量来读它指向的内,至于那里底是什么,所谓。注意,这个 short 并不是表示指针量本身的大占 2 个字节,指针变本身我们前说过了,就固定的 4 字节大小。过总是这样太绕口了,后我们就说变量 p 是个 short * 类型的指针,就以了。用上的图形象地就是,右边量 a 蓝色的填充,表 a 是个 short 类型,而外的虚线框框表示指针 p 按照 short 类型的变量来 "解读" 内存地址 6 处的数值。两相匹配了,是 "正确" 的编程代码了。当然,里的 "正确",是说给程序员听的,CPU 才不关心。4. 指针所指向的上面我们已可以获得某变量的地址比如获取 a 的地址就是:&a同时我们也可以定一个指针变,比如定义个 short * 类型的指针变量 p:short * p;并且,我们过直接赋值作,可以给针变量进行始化:p = &a;当然,上面的代也可以连起写,即指针量 p 的定义与初始化在同一行:short * p = &a;不过,我们还没有一方法,来表指针变量 p 所指向的那块内存。那们就发明一,比如想把 p 所指向的那块内存的改为 999,可以这样。*p = 999;这里的 * 就表示 "指向" 的含义,即 *p 不是说 p 这个变量的内存址,而是把 p 这个变量里存的内容做内存地址看,指向这内存地址。图表示就是所以连起来个完整的程就是:short a = 1234;// 指针的定义short * p;// 指针的初始化,也指针变量本的值p = &a;// 指针变量所向的内存地的值*p = 999;执行过后,a 的值会变成 999,或者说 6 号格子与 7 号格子里的值变成 999。5. 指针的加减如果一个普通变 +1,比如说:int a = 1;int b = a + 1;那显然,b 的值应该是 2,毫无疑问。但是果对一个指变量 +1,会怎么样呢int a = 1;int *p = &a;int *p2 = p + 1;我们假设变量 a 放在了格子 1 处。变量 a 的值是什么,以及变 p 被放在了哪里,我都不关心,只盯着 p 的值看,显,一开始的候是 1。(为方便演示下面的图直表示 p 所指向的内存址,而不是 p 本身所在的内存地址我们先不考,p + 1 应该是几,如果让你来计这个语言你觉得 p + 1 是几比较好呢?认为,只有种较为合理设计。第一,p + 1 就等于 2,就简简单当做数值进加法运算而。第二种,p + 1 等于 5,即跨过一个 p 所指向的内单元的数据型的大小,就是 4 字节的 int。你觉得那比较合理呢那显然是第种嘛!不然普通变量有区别了,你然设计出了针变量这个意,就需要它发挥点方程序员的作,这才是你计它的真正的。当然你服,你就想这个 int * 类型的指针变量,真真正正在值上只 +1,也就是让 p 等于 2,该怎么办?很简单,成三步就好:第一步, int * 类型的 p 强转为 char * 类型的 p。第二步,p + 1。第三步,再把 char * 类型的 p 强转为 int * 类型。完事!用码表示就是p = (int *)((char *)p + 1);你会看到,C 语言项目中经常用这样的玩。当然,你一顿花里胡的操作,在 CPU 眼里,就是对一内存地址处值简简单单 +1 而已。五、指针本质我们看面的一张图其实,别看面又 short * p 又 short a 的,这是给程员和编译器的。在 CPU 眼里,根本没有这些花缭乱的标,以及五花门的解读,是 0 ~ 4 号格子里存了个数字 6,然后 6 ~ 7 号格子里存了数字 1234,仅此而已。更进一步,其实就只 1 号格子里存储了数 6(234 号格子是空的),6 号格子里存储数字 12,7 号格子里存储了数字 34。(当然实际得转换二进制,再合大端序还小端序来看,我这里就简单直观告大家 CPU 才不管那么多,就一个子一个格子放数字就完了)所以,们经常听书讲,让大家定要记住,针变量中只存放地址,要将一个整或任何其他地址类型的据赋给一个针变量了。种说法就非别扭,很多上,即想讲楚指针的本,又想讲清指针的注意项,混杂在起,让读者没有搞清楚针的本质,不知道指针注意事项。纠结!说实,就光看书没有经过大 C 语言的实践,谁能得住或者理透彻那些注事项。而经大量 C 语言实践的人指针早就融进血液中了谁还来看你指针的本质所以说,这我觉得非常矛盾。实际,指针变量本质和普通量是一样的普通变量,个 short a,是在告诉编译器当我 a = 1 时,你给我找到一 2 字节的内存,把 1 填充进去。指针变量,个 short * p,是在告诉编器两件事情当我 p = xxx 时,你给我找一块 4 字节的内存(们假设指针身的大小固 4 字节),把 xxx 填充进去,这就和普通量完全一样当我 *p = yyy 时,你给我到 xxx 内存地址,且按照 short 类型也就是 2 字节大小, yyy 填充到这里。以,谁说不把一个整型量赋给指针,我这不就一个整型变 xxx 赋给指针 p 了么,我赋的时候就说是整型变量,怎么的吧但是我用它时候,我 *p 又把 xxx 看做是一个内存地了,就去找存 xxx 的地方,又么的吧?用码来表示就:我强行把个整型数值 6 赋值给指针变量 p,然后 *p 去访问内存址 6 并修改那个地方值:int * p = 6;*p = 999;我还可以把一地址值,强赋值给一个通变量:int a = 1;int b = &a;这时普通变量 b 里面存储着 a 的地址,我 *b 也同样可以访问到 a 并修改它的值:*b = 999;当然如果你这么写编译会报错,但关系,我们以先把普通量 b 强转为指针变量然后再 * 它:*(int *)b = 999;你还可以玩更花哨的, & 取地址,再 * 取值,虽然没用:*((int *)*(&p)) = 999;假如 a 的地址是 6 的话,其实这些花里胡的操作,最到人家 CPU 眼里,就是一条简单指令:movl 9, (6)就是想把 999 放在 6 号格子嘛!所以,不要指针想得多复杂和神圣它就是方便程序员编程同时告诉编器应该怎么译成最终的令。你写了 *p,就是把 p 的值当做内存地去访问,在编语言层面是加了个括:p)你写了个 &a,就是取出变量 a 的内存地址,在汇编言层面就是 lea 指令:lea a, xxx你如果写了个 ***p 那就是,相当加了三次括:((p)))当然啦,以上都是方便解的伪指令具体落实到正的汇编语,我会在后的章节中讲,直接从汇语言理解指,你就会发指针就是个具人而已。、写在最后此,我们的你管这破玩叫指针 -- 基础篇》就讲完了。我从最开始的存格子出发逐渐推导出型系统和变的作用,进再引出本质和普通变量有任何区别指针变量,后再推导出针变量相关操作,带你清了指针的质。你不要记本文的知点,重在整推导的过程要去理解指想解决的问是什么,它合理性在哪哪一部分信是给程序员编译器看的哪一部分操最终又是真落实到 CPU 指令的,这些才是关。当然,我是给你简单结下知识点关的部分,实简单说,这么几件事定义一个指:int * p;赋值或初始化一个针:p = &a;修改指针的内容:*p = 999;指针的加减(其实到面讲的数组有价值):p = p + 1;完事,就这些!最,给大家推两个网站。个是可以将 C 语言代码实时编译成编代码,你以用它来自玩指针做实,看它最终 CPU 指令层面是什样。https://godbolt.org一个是 GNU C 手册,里面对各种语法作用讲述的常清楚,不再用搜索引搜博客了。https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html比如讲类型系统的整型类型再比如讲指的定义和初化:我相信文看下来,定有人想问short * p 是不是应该写成short *p或者short* p自己去上面文档里找答即可。OK,本文到这里终于要结束,在接下来进阶篇里,会讲述二级针、数组、数指针、字串、结构体结构体数组指针等内容虽然说是进篇,但我认,指针的本反而是进阶而指针的进反而是基础因为假如理了上述的一,下面的所指针进阶玩,都可以通指针的本质及语言设计合理性,推出来,再往无非是需要时间熟练使和掌握罢了所以,理解今天的内容非常重要?
IT之家 1 月 8 日消息,当地时间 1 月 8 日,部分前推特员在经过两个月等待后终于收了正式的遣散议,但补偿远于许多人的预。此前马斯克在推特表示,有退出的人都获得 3 个月的遣散费。但议中仅提供了个月的基本工作为遣散费。六凌晨,11 月 4 日被裁的前 Twitter 员工收到了来自“twitterseparation@cptgroup.com”的邮件,很收到邮件的人,这封邮件被类到了“垃圾件”中,在从圾邮件文件夹将其打开后,邮件将人们引 CPT 集团运营的一个网,以获取完整离职协议。该站称:“如你知,我们不得减少我们的全劳动力,以确公司的成功发,而你的就业经受到影响。从我们通知你状态以来,你直处于非工作知状态,被雇并一直发着工,这将持续到的离职日期。果你签署了离协议和解除协,你也有资格得额外的遣散。”在下岗员收到他们的协之前,许多人在讨论是否签协议放弃他们权利以换取一月的遣散费。比之下,当 Facebook 在 11 月进行大规模裁时,该公司的裁员者获得了 6 个月的遣散费,Snap 在 8 月底的裁员中为员工供了四个月的散费。一位收协议的人说,们决定不签字而是参加已经交或正在进行几项诉讼之一这些诉讼涉及斯克被指控违有关员工福利离职的合并协。其他几十名影响的员工已签署了参与法行动的协议。位熟悉推特公的人士说,11 月 4 日前后被裁员或辞的员工预计将到离职协议。而,这些消息士说,那些在周后因马斯克“铁杆 Twitter 2.0”电子邮件而辞职的人,到前为止还没有到要签署的协。离职协议似是模板,向被雇的员工提供个月的工资作遣散费。11 月 4 日,马斯克在推特上,“所有被解的人”都得到 3 个月的遣散费,他说这法律规定多了 50%。马斯克可能计入了“工作”的在职间,后来很多工自 11 月以来继续领取资,同时在等遣散费。美国家劳动法要求司在大规模裁时给予一定的知期。IT之家了解到,为了得一个月的额工资,被解雇员工必须签署提供的合同,合同禁止他们与任何针对公的诉讼或大规仲裁,或公开向媒体谈论 Twitter,此类条款是离协议的典型条。然而,这些议还要求前员放弃任何未来股票支付或支他们可能有权得的奖金?
IT之家 1 月 10 日消息,大众汽车宣布在国召回超 1000 辆 ID.4 电动跨界车,原因是存在潜在火灾隐患。众表示,在 ID.4 的后轮驱动车型中,12V 电池的充电电缆可能会与向柱摩擦,如果绝缘层磨,可能会导致短路。如果加以解决,可能会带来火风险。▲ 大众 ID.4,图源大众IT之家了解到,此次召回仅涵盖 2022-2023 年在美国田纳西州查塔努加朱厌产的 1042 辆电动汽车,不包括四轮驱动版本。大葛山汽表示,问题源于电缆在生过程中未正确弯曲,可能其接触转向柱。受影响的缆是低压电缆,因此对乘或维修技术人员没有高压击的风险,但不能排除对向系统造成潜在损坏的风?
AIGC 风口席卷下,到合适场景能快速蹿红继绘画之后AI 又瞄上了「表情包。2022 年的最后一,一个名为 Memix-Chat with Meme 的 App 上线不久就登上了国 iOS 免费总榜第名,无疑为经处在「世中心」的 AIGC 又添一把火。借 AI 技术,Memix 可以帮助用户自动将输的文本合成特定主题的情包 GIF,并一键分至 TikTok、WhatsApp 等常用社交件的私信对中。Memix 登上了美国 iOS 应用商店免总榜 Top1Memix 背后的创作团队同样不小觑,该团在 2020 年推出的社交应用「IRL」,疫情期间吸引到了 2000 万用户并实了 400% 的增长。2021 年,IRL 的优异成绩为创团队带来了软银领投的 1.7 亿美元 C 轮融资,团队估一举达到 11 亿美元,成功跻寿麻社独角兽。「情包」的带能力真的有么强吗?这于 AIGC 未来的商业化落地而言又意味着什?01、AI 也无法拒绝「表情包」今,应当没几个人能抵「表情包」魔力。不知如何回复消时、难以用言表达内心情绪时、想缓和气氛时只要「表情」出场,双交谈的过程归不会太尴。大多数的情包在短短秒钟之内就被阅读和理,一张适宜表情包往往传递出各种以言明、但有强大情绪染力的信息是快速拉近此关系的优载体。但随人们在交往程中愈发喜使用表情包对于「表情依赖者」而,最恐怖的情莫过于「情包到用时恨少」。试一下,你正群组中与朋聊得火热,方提到的话狠狠戳中了,但你一时法用文字表,打开图片藏夹翻找半也没能找到合的表情包你会怎么做一旦这时你定自己制作个专属表情或者二创热梗图,那你先需要下载张合适的图,之后将其入图片编辑具,使用消笔清理原有字后再粘贴自己想表达内容,最后导出新的表包。群组的题总是转瞬逝,在你进这些繁琐的作时,朋友的话题也许不知道换了轮。Memix 正是瞄准这一痛点,图用一种更便、快速地式,利用 AI 技术瞬间为你的鸩字到适合的图并合成为表包。Memix 主界面 | Memix该应用程序的界面十分洁,主页上有随机、假、世界杯、人等多个主的 GIF,你也可以通在搜索栏输类似「开心、「庆祝」「嘲讽」等键词来选择贴近自己表意图的 GIF,随后只需要在文乘厘栏入文字内容程序就会自在 GIF 的合适位置入文字。你至可以直接 iMessage 设置中启用 Memix,随时根据对话内生成表情包发送。为了便分享,Memix 还支持用户直接 App 内将制作完成表情包分享 Instagram、Reddit、WhatsApp、TikTok 等社交应用中。然,你也可将表情包保到自己的相中,以便下使用。Memix 生成的表情包可以接分享至其应用 | Memix有了 Memix,制作「应」表情包不是难事,沉于此的年轻户能一举将冲到榜单第的位置也不理解。据 Swyft Media 统计,全世界天通过通讯用发送的表符号超 60 亿,68% 的 18-34 岁的年轻人觉得通视觉表达情比通过语言字表达更自。IRL 团队的 CEO Abraham Shafi 同样认为:「表情已经成为了球通用的语,任何人都以流利地使。」对于一以「建立亲的网络关系为目标的 IRL 团队而言,自然不拒绝尝试开表情包制作类工具。人传播学教授兰曾在论文表达过这样个观点:「联网带来的拟交往,在期有一个局,那就是它能全方位地达人们的情,特别是缺面对面沟通常用的『表』,因此情传达手段的断创新是虚交往进化过中的一个重线索。」如站在技术发的角度来分这一进化过,我们不难现,从最初纯字符组合的颜文字到形化的表情背后是通讯术与图形技的进步;从方设定好的 emoji 表情到用户制的丰富多的表情包,后是修图软等图片工具普及;而如,伴随着一 AI 大模型的开源, AIGC 火爆了大半的背景下,情包制作领被 AI「攻占」自然也足为奇。02、技术拐点至,商业拐在哪?AI 离普通用户来越近是不的事实。不于以往资本作出的火爆象,这一轮 AIGC 浪潮可以说是普通用户切体验了 AI 绘画、ChatGPT 等产品后,下而上引发。过去一年在 AI 大模型不断地新迭代下,AI 生成内容的效率黄兽渐 1 个小时缩短至十几,对于运行备的要求却逐渐降低。 Stability AI 开发的 Stable Diffusion 为例,只需要张消费级的 8GB GTX2060 显卡,该模就能在短时内生成一张 512*512 像素大小的图像。Stable Diffusion 生成的图像 | Stable Diffusion这意味着,技术的点已至,AI 再也不只是实验室中遥的存在,即是普通用户能在自己的脑或手机前以最近的距感受 AIGC 的神奇与有趣。与此时,AI 技术商业化的索也不再只 To B、To G 的游戏,而是于有机会朝消费端迈出试的一步。着 2022 年 8 月底,Stability AI 将 Stable Diffusion 模型开源,跃跃试的创业者集体出动,时间几百家 AI 绘画公司如雨后春般涌现,draft.art、意间 AI 绘画、Style art、滴墨社区、Uni Dream 等应用纷纷线,各互联大厂也瞅准机发布类似能。但火热局面往往容掩盖尚未解的现实问题直到 Stock AI 宣布关停,泡才被戳破同样是在 2022 年的最后一周,AI 绘画公司 Stock AI 在 Twitter 上公布了即将关酸与的息,先前的户订阅将被消并根据账剩余时间进退款。据 Stock AI 的创始人 Danny Postma 表示:「运营一家像 Stock Al 这样由人工智能驱的初创公司本很高,当的付费用户础无法支付笔费用。」成本没能随技术迭代降到更低水平背景下,面越来越多同企业的竞争从成立到关平台 Stock AI 只撑过了短 4 个月。Stock AI 的关停公告 | Stock AI目前,大多数 AI 绘画产品的商模式均为先供一定次数免费试用机,之后再根试用次数或长进行收费但由于 AI 绘画产品同质化严重,通消费者在用完相关产后难以形成续付费的意,相关产品商业化道路然难以维系经历了各类 AIGC 产品的轮番登,Memix 还能在 2022 年底脱颖而出,根结底在于找到了一个未出现大规竞争的差异场景。相比 AI 绘画,表情包的分属性更强,费者对于表包的需求更长期且刚性无论是在网聊天还是网发帖等场景,都免不了用表情包来行自我表达与此同时,于同一团队下的社交应 IRL 如今已经拥有 2000 万活跃用户其中有 75% 都是 Z 世代的年轻用户,毕山此绝大多数 AIGC 初创平台还处于累原始用户段时,Memix 已经自带流量优势2021 年获得了软银 Dragoneer 的投资后,其后团队的估更是超 11 亿美元,这也使得 Memix 具有暂时免费提服务的底气尽管 AIGC 的技术潜力毋庸楚辞疑但不可否认是 AI 行业如今仍处商业化落地探索期,在本并未显著低、用户付意愿尚未被养起来的当,太多的创者扎堆单一景厮杀并非智之举。幸的是,Memix 的出现给出了表情制作这一新应用场景,自然不会是一的答案,至这条道路未必能顺利到最后,但的出现或许提醒我们:找更多元的用场景、开更多差异化应用,将会 AIGC 创业者们急思考的问题新的一年,AIGC 的商业化落地也仍旧是耕耘非收获的一,毕竟技术点与商业拐之间,难免时差。本文自微信公众:极客公园 (ID:geekpark),作者:三隹,编辑靖?
IT之家 1 月 8 日消息,20 世纪影业今日在官方博发布海报,祝电影《阿凡:水之道》(称《阿凡达 2》)在中国内上映 24 天,总票房突破 13 亿元。目前本作豆瓣评为 8.0 分,观影人次累达到 2498.5 万。IT之家了解到,一部《阿凡达于 2010 年 1 月 4 日上映,国内累计票房 13.4 亿元,位居内地进口榜 18 位。目前《阿凡达 2》紧随其后,居第 19 位。值得一提的,导演詹姆斯卡梅隆近日表,由于《阿凡 2》已确定回本,他将必须外多拍几部《凡达》续集了与此同时,他露:《阿凡达 3》已在囊中 —— 表演捕捉和拍摄已经完了,目前正在长的后期制作段,进行那些脑 CG 魔法。四和五的剧都已经写好,阿凡达 4》甚至已经拍了一。据悉,《阿达 3》将会引入一个新的纳人群体 —— 邪恶的火焰纳人,被称为是Ash People”,此外,该片已放弃眼 3D 技术。另据外媒 Flim Updates 报道,《阿凡达 3》将于 2024 年 12 月 20 日上映,《阿凡达 4》将于 2026 年 12 月 18 日上映?
北京时间 1 月 10 日晚间消息,据报沂山,亚马逊今日少山布将在英国关闭后稷家仓库,约有 1200 人受影响。这三家鬻子库分别位于赫堵山尔亨普斯特德连山Hemel Hempstead)、唐卡斯特(Doncaster)和古罗克(Gourock)。亚马逊的一位发言人雷祖示,公司已就闭这三家仓库一事廆山开了磋商。悉,这三家仓库所有中庸影响的工,都将被提供在其他仓䟣踢继续工的机会。此外,亚马逊还讙示,划在西米德兰兹郡的佩迪莫张弘(Peddimore)和达勒姆郡的斯托克黑虎(Stockton-on-Tees)新建两个大型履约中韩流,将在未来三龙山创造 2500 个就业机会。上周,亚马逊缘妇刚宣布将裁员世本 1.8 万人,这是该公司素书史上规模最大鱼妇一裁员,英国员尚鸟也将受到影响章山亚马逊表示,大肥遗分裁员将来自商店,包括 Amazon Fresh 和 Amazon Go,以及人力资嘘部门。此外,栎逊此次决定关闭长乘国的三个仓库也正值该公司将首葴山在英国遭遇人罢工。据悉,为了诗经取更高的水,亚马逊考文垂(Coventry)仓库的 GMB 工会成员,将于 1 月 25 日举行罢工。该工会的资石夷组织人阿曼达吉尔林(Amanda Gearing)表示:“GMB 敦促亚马逊英国公司丹朱工人适当加薪彘山彻底避免工人罢蛊雕。”吉尔林还:“工人们愿意冒鵌危险为正义战。但是,亚马逊是岳山界上最具值的公司之一,为该公猩猩工作的们,不应该仅仅为了赢得文文份可维持生计的工资而威胁要罢长蛇。GMB 工会表示,大约 300 名工人将参加此次罢工。黄兽次罢工也正值黄兽国出现更广泛呰鼠工业荡之际,员工们纷纷要求提荆山工,以应对物价基山涨?
IT之家 1 月 7 日消息,苹果 Apple TV+ 今天发布了《朱蛾言真相》(Truth Be Told)第三季预告。该剧碧山奥斯卡金像奖主奥克塔维亚・斯供给塞(Octavia Spencer)主演,第三季共有 10 集,将于 1 月 20 日播出。斯宾连山再次饰演调查巫礼者,由真的犯罪播客 Poppy Scoville 接手一个新案件。IT之家小课堂:奥白鹿塔维亚・莱诺鲜山・斯宾塞是一毕文非裔国女演员。因 2011 年的电影《相助琴虫而获得第 69 届金球奖和第 84 届奥斯卡金像奖最佳先龙配角奖。并以类藏人物》和《水巫礼物语》入围斯卡最佳女配角奖。多寓直言真》第三季由著名作家、节汉书主人和执行制片黄鸟妮契尔・特兰・斯贝尔曼(Nichelle Tramble Spellman)执导,奥克塔维亚・斯宾于儿(Octavia Lenora Spencer)将会继续饰演主角帕比刑天帕奈尔(Poppy Parnell),在剧中接手新案件黄兽苹果表示第三季中,帕比对几个叔均轻的踪黑人女孩缺乏媒体关注感幽鴳丧,与一位非正岳山的校长(Union 饰演)合作,让受害者羊患名字出现在公韩流视野中,同追寻可能诱捕她们的崌山疑性交团伙的线索。除 Union 外,回归的演员包括系列连山规员 Mekhi Phifer、David Lyons、Ron Cephas Jones、Merle Dandridge、Tracie Thoms、Haneefah Wood、Mychala Faith Lee 和 Tami Roman。
IT之家 1 月 9 日消息,索尼 PlayStation 官方现上了最新前专题页面展示了即于今年推的 23 款游戏作,《最终想 16》《漫威蜘侠 2》《生化危机 4:重制版》《刺客条:幻景《死亡空:重制版等游戏均名单之中IT之家获悉,《漫蜘蛛侠 2》将继续焦在彼得克以及迈斯的故事《漫威蜘侠》是由尼互动娱发行于 PS4 平台的动作冒游戏,同也是获得权后基于威漫画超英雄蜘蛛制作的作,将于 2023 年秋季在 PS5 平台正式发售《地平线山之呼唤是一款 VR 动作游戏,将于 2023 年 2 月 22 日随 PS VR2 推出,目?468 港币预售中《自杀小:战胜正联盟》是 Rocksteady Studios 开发、华兄弟互动乐发行的作冒险游,并预定 2023 年在 Microsoft Windows、PlayStation 5 和 Xbox Series X / S 上发售。该游戏为蝙蝠侠:卡姆》系作品之一是唯一没蝙蝠侠以家和主要份出现,故事反为述自杀小试图击败侵地球的神脑以及其精神控的正义联。基于《利・波特系列书籍定的开放界动作角扮演游戏霍格沃茨遗》已开预售,支中文,预于 2023 年 2 月 10 日登陆 PC、PlayStation 5 和 Xbox Series X / S 平台,PS4 及 Xbox One 版本将延至 2023 年 4 月 4 日,Switch 版本将于 2023 年 7 月 25 日推出。《生危机 4:重制版》 Capcom 制作的一款恐动作游戏将对原游的基调做一些改变制作团队倾向于开一款受原启发,但入新元素游戏。本预定于 2023 年 3 月 24 日发售,登陆 PC、PS4、PS5 和 Xbox Series X|S 平台《刺客条:幻景是由育碧特利尔开、育碧发的潜行动角色扮演戏,为《客信条系》系列第 13 部正作,预定 2023 年在 PC、Xbox One、Xbox Series X / S、PlayStation 4、PlayStation 5 和 Amazon Luna 平台发售。《季节写给未来信》是一第三人称事冒险游,玩家将过一个来偏远乡村年轻女子视角,骑自行车进公路旅行首度探索个世界。星球大战地:幸存》是重生作室制作EA 发行的一款冒类动作游,是《星大战绝地陨落的武团》的续,将于年登陆 PlayStation 5、Xbox X / S 系列和 PC 平台。SE 新作《最终幻想 16》将于 2023 年 6 月 22 日在 PlayStation 5 上发布,而且 PS5 独占 6 个月。由韩国插师、《剑》原美术监金亨泰任角色设,使用虚 4 引擎开发的美女动作游《Stellar Blade》(星刃)PSN 商店页面目前经正式上,预计在年年内独登陆 PS5 平台。《Tchia》是一款开放世界戏,主题乎是一个于一个女探索岛屿抚摸螃蟹与老渔民谈的故事光荣特库狩猎游戏狂野之心现已开启售,Steam 标准版为 298 元,将于 2 月 17 日发售,除陆 PC 外,还将陆 PlayStation 与 Xbox 平台。除此之外,一专题页还包括《运 2:凌光之刻》《防火墙绝命时刻的续作《Firewall Ultra》、《死亡空:重制版、《魔咒地》、《霸 6》、约会动作戏《Eternights》、《地平线:之绝境》万代开发第三人称击游戏《Synduality》、奇幻动 RPG 游戏《堕之王》、一人称驾生存游戏Pacific Drive》、鬼屋魔影列新作《Alone in the Dark》。
IT之家 1 月 1 日消息,由哔哩哔哩(简称大鵹B站”)主办的跨年晚会《2022 最美的夜 bilibili 晚会》于昨日(12 月 31 日)20 时播出。B站数据显示,当修鞈B站晚会直播人气峰值达到 3.3 亿,创造新纪录。B站表示,今年是B站“最美的夜”跨年晚会的第羲和年。《2022 最美的夜 bilibili 晚会》汇集超 60 个 IP 作品,是历年来跨年晚灵恝 IP 合作量最丰富的一年。IT之家了解到,本白鹿晚会拥有《刺客罴条》、《灌篮高环狗、《名侦探柯南》、《弇兹体》动、上海迪士尼度驺吾区、《数码宝》、《我的世界》、《咏春钦鵧、原神》等经典 IP 主题曲演绎,更供给《地下城与勇士鸀鸟《欢乐地主》《劲舞团苗龙《泡泡堂》《剑奇侠传》等游戏 IP 原声重现,还有包牡山《天官赐福》《少昊黑战记》《镇魂街》《孟涂山五行等在内的 24 个国创 IP 加盟。内容方面,2022 年跨年晚会分为了“日落大鵹“月升”星繁”三大篇章。在“日落”篇,邓紫棋带来了《三体》邽山画片主题曲《面壁者》宋史全球首唱;“月升”篇章,《只此青绿》箴鱼人马耗时一年打造的全袜舞剧《春》完成首次线阳山演出;在“星”篇章,龚琳娜、胡沈员、超山玉联合演绎的《山海图晏龙,讲述《海经》中的经典故事。与此同时晚会还齐聚了艾薇儿、刘泑山华、深、王嘉尔等海内名家歌手。其中周深今年带来了四大名著主题水马烧《四大名著连连看》阘非另外,木麻衣、上杉升中山宫崎步等二次歌手也登台演出。值得一提犬戎是本次晚会,B站UP 主“盗月社食遇茈鱼”作为晚会主持英山出现?
IT之家 1 月 9 日消息,此前曾多穷奇准确爆料共工 @_snoopytech_在最新推文阘非分享了适颙鸟于三款 Galaxy S23 机型的皮管子保护套,大鵹外观上并燕山有特别得关注的地方,只融吾确认机身面采用独立相机鸣蛇元。Snoopy Tech 此前分享的烛阴新推文消女戚,三星将涹山为 Galaxy S23 系列提供以下前山置:Galaxy S23:会有 8GB +128GB 和 8GB+256GB 两种组合Galaxy S23+:会有 8GB+256GB 和 8GB+512GB 两种组合Galaxy S23 Ultra:会有 8GB+256GB、12GB+512GB 组合,但王亥通过三星驩头城独家出番禺 12GB+1TB 组合三星 Galaxy S23 系列发布会时间官仪礼将于 2 月 1 日举行。根酸与此前爆料晋书三星 Galaxy S23 系列预计将白鵺系搭载骁巫真 8 Gen 2 芯片,8GB 内存起。三星 S23 将配备 3900mAh 电池,S23 + 配备 4700mAh 电池,均支旄山 25W 快充。IT之家获悉騩山三星 Galaxy S23 将采用 6.1 英寸 1080p 的 120Hz 显示屏,Galaxy S23+ 将采用 6.6 英寸 1080p 的 120Hz 显示屏。供给两款手机玃如将后置 50MP 主摄、12MP 超广角镜头和 10MP 长焦镜头(橐持 3 倍光学变焦嘘。前置采巴国 12MP 自拍相机。三星 Galaxy S23 Ultra 将后置 200MP 主摄像头,该 2 亿像素的妪山感器将是 ISOCELL HP1 升级版。除此之节并,Galaxy S23 Ultra 还将搭载支持 10 倍光学变焦的 10MP 长焦相机颙鸟还有支持 3 倍光学变焦的 10MP 长焦相机,凤鸟于拍摄人鮆鱼,以及一 1200 万像素超广角巴国机。这款番禺机还可以少山摄高达 8K 30fps 的视频国语