V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mahaoqu  ›  全部回复第 1 页 / 共 8 页
回复总数  142
1  2  3  4  5  6  7  8  
Windows 上 C++标准库是跟随 VS 发布的,所以数量很少。Linux 的实现就太多了,要发布运行时发行版就要发布 libstdc++-12.1 ,libstdc++-12.2 等等,得几十个不同的小版本。对于开源软件重新编译就完了,二进制兼容完全没意义。对于复杂的应用程序,flatpak 这样的应用容器才是最好的办法。

至于 C 标准库,我觉得 glibc 向下兼容做的已经相当好了。开一个低版本的容器,静态链接除了 libc 之外的库,随便复制到其他机器上运行。
38 天前
回复了 jqknono 创建的主题 程序员 github copilot 的 tab 为什么不如 cursor 的 tab
所以 3w 个公共开源库不如用户本地代码的质量吗?
41 天前
回复了 Fdyo 创建的主题 Windows Windows 11 即将推出新的命令行编辑器 Edit
还得是 Rust
找工作的时候某次我一天就面了 7 家公司
加上 -fsanitize=address 就好了,一定会报错
@liyafe1997 我搜到了,微软的人在 ReactConf 上说开始菜单的搜索和推荐部分是 React Native 做的。“全部程序”那部分好像还是原生。
80 天前
回复了 IAmSimon 创建的主题 问与答 关于有了 AI 还需要记录(写笔记)吗
笔记的内容不重要,但是笔记的结构很重要。

这就是为什么 Obsidian 和一大堆双链工具能火起来。
这个开始菜单是用 Web 技术写的?
现在 MoonBit 主要的社区在哪个平台上?
10 个小时都搞不定中文的国际化么?
108 天前
回复了 GotKiCry 创建的主题 程序员 好奇 Java 味是什么味
大概就这种:

public interface Subject {
public void attach(Observer observer);
public void detach(Observer observer);
public void notifyObservers();
}

public interface Observer {
public void update(Subject subject);
}

public class HelloWorldSubject implements Subject {

private ArrayList<Observer> observers;
private String str;

public HelloWorldSubject() {
super();

observers = new ArrayList<Observer>();
}

public void attach(Observer observer) {
observers.add(observer);
}

public void detach(Observer observer) {
observers.remove(observer);
}

public void notifyObservers() {
Iterator<Observer> iter = observers.iterator();

while (iter.hasNext()) {
Observer observer = iter.next();
observer.update(this);
}
}

public String getStr() {
return str;
}

public void setStr(String str) {
this.str = str;
notifyObservers();
}
}

public class HelloWorldObserver implements Observer {

public void update(Subject subject) {
HelloWorldSubject sub = (HelloWorldSubject)subject;
System.out.println(sub.getStr());
}
}

public interface Command {
void execute();
}

public class HelloWorldCommand implements Command {

private HelloWorldSubject subject;

public HelloWorldCommand(Subject subject) {
super();

this.subject = (HelloWorldSubject)subject;
}

public void execute() {
subject.setStr("hello world");
}
}

public interface AbstractFactory {
public Subject createSubject();
public Observer createObserver();
public Command createCommand(Subject subject);
}

public class HelloWorldFactory implements AbstractFactory {

public Subject createSubject() {
return new HelloWorldSubject();
}

public Observer createObserver() {
return new HelloWorldObserver();
}

public Command createCommand(Subject subject) {
return new HelloWorldCommand(subject);
}
}

public class FactoryMakerSingleton {

private static FactoryMakerSingleton instance = null;
private AbstractFactory factory;

private FactoryMakerSingleton() {
factory = new HelloWorldFactory();
}

public static synchronized FactoryMakerSingleton getInstance() {
if (instance == null) {
instance = new FactoryMakerSingleton();
}

return instance;
}

public AbstractFactory getFactory() {
return factory;
}
}

public class AbuseDesignPatterns {

public static void main(String[] args) {
AbstractFactory factory = FactoryMakerSingleton.getInstance().getFactory();

Subject subject = factory.createSubject();
subject.attach(factory.createObserver());

Command command = factory.createCommand(subject);

command.execute();
}
}
@FalconD 结构子类型,打错了(
109 天前
回复了 lymanbernadette6 创建的主题 Windows 多个平台的 emoji 长得不一样
巨硬最搞笑的是做了两套,Teams 上的不给 Windows 平台用
110 天前
回复了 Livid 创建的主题 Python Nodezator
Python 也要有自己的蓝图
Go 和 TS 一样都使用名义类型应该算是最大的类似之处了,其他所有主流语言都不支持这一特性。
知乎
魔法太多,出错了调试都不知道怎么入手,还是静态语言吧
@amiwrong123 我没做过 ARM ,但是简单搜了下发现确实有不少门道,这里有篇文章详细解释了两个 specs 文件都是什么意思: https://metebalci.com/blog/demystifying-arm-gnu-toolchain-specs-nano-and-nosys/

实际上我觉得你问 AI 和搜索得到结果更快。总之大概的意思是,gcc 会链接 newlib-nano ,ld 默认情况下不会,所以你还是用 GCC 吧,除非你能够精确地知道 ld 具体该怎么写。
日落自动开启护眼模式很久很久之前就有了
@amiwrong123 .o 文件一定要在库文件的前面,因为 ld 是默认单向搜索的。可以参考下《深入理解计算机系统》讲链接的部分。
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1018 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 46ms · UTC 22:35 · PVG 06:35 · LAX 15:35 · JFK 18:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.