mahaoqu 最近的时间轴更新
mahaoqu's repos on GitHub
Python · 4 人关注
shadow-http
A Shadowsocks-like http proxy server.
Vue · 2 人关注
Staff-attendance-system-frontend
Front-end of SE class project use Vue.js. Backend see https://github.com/kk456852/Staff-attendance-system
Verilog · 2 人关注
y86-processor-verilog
A simple implementation of y86-processor (see CSAPP3e, chap4).
Java · 1 人关注
CalorieTracker
csc510-21fall-g35
Python · 1 人关注
lcbot
TypeScript · 1 人关注
TeamFormationAssistant
An assistant which will take the project requirements, team members availability, skill level, tools preferred, etc. as input and assigns the members for the new team.
Lua · 0 人关注
2DGameEngine
C++ · 0 人关注
a-llvm-proj
0 人关注
aframe-react
:atom: Build virtual reality experiences with A-Frame and React.
Java · 0 人关注
antlr-js-java
0 人关注
bilicli
🎛️ Bilibili-live danmu dashboard in your terminal.
TypeScript · 0 人关注
ChatGPT-Next-Web
One-Click to deploy well-designed ChatGPT web UI on Vercel. 一键拥有你自己的 ChatGPT 网页服务。
0 人关注
cpp-docs.zh-cn
VCPPDocs Public Repo
0 人关注
DoR
The Department of Reuse tracks and documents reuse of artifacts in computer science (starting with the SE field)
0 人关注
DrCCTProf
DrCCTProf is a fine-grained call path profiling framework for binaries running on ARM and X86 architectures.
0 人关注
Mahaoqu
JavaScript · 0 人关注
mahaoqu.github.io
Blog
Verilog · 0 人关注
mips-pipeline
A verilog implement of a simple 5-stages pipeline processor.
0 人关注
modern-compiler-implementation-ml
Tiger Compiler from Modern Compiler Implementation in ML
Python · 0 人关注
my_alien_invasion_game
An game project based on Python Crash Course
Python · 0 人关注
production-practice
网络问答与资源共享平台
0 人关注
Staff-attendance-system
A simple realization of staff attendance system
C++ · 0 人关注
xcpp
A simple game engine
Rust · 0 人关注
zero2prod
mahaoqu
ONLINE

mahaoqu

V2EX 第 337689 号会员,加入于 2018-08-01 13:46:42 +08:00
今日活跃度排名 12296
mahaoqu 最近回复了
2 天前
回复了 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 结构子类型,打错了(
3 天前
回复了 lymanbernadette6 创建的主题 Windows 多个平台的 emoji 长得不一样
巨硬最搞笑的是做了两套,Teams 上的不给 Windows 平台用
4 天前
回复了 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 是默认单向搜索的。可以参考下《深入理解计算机系统》讲链接的部分。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5910 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 02:03 · PVG 10:03 · LAX 19:03 · JFK 22:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.