macOS(以前称为OS X或Mac OS X)是Apple的桌面操作系统,可在Macintosh计算机上找到。仅当您的问题与使用macOS API或特定于macOS的行为有关时才使用此标记,而不是因为您碰巧在macOS上运行代码。与使用或排除macOS有关的问题都是偏离主题的,属于Ask Different社区。
我正在构建一个与当前应用程序相关的MenuBar Extra。我从当前应用程序获取包 ID,并使用它来获取或创建新数据。我正在尝试从一个 Vi 传递数据...
我是 python 新手,一直在玩,但我在 mac 上遇到错误 下面是我在 input.py 文件中的代码 person = input('请输入您的姓名:') print('你好', 人) 如果我运行
我想使用 Finder 在 Mac 上的某些文件添加特定颜色标签,然后能够使用 Python 或 bash 脚本获取该文件列表。是否可以获取关联的标签列表
我在 macOS Sonoma 14.6.1 上安装了 homebrew bash 来尝试一些东西。我按照在网上找到的这些说明进行操作: 酿造安装bash sudo bash -c "echo $(brew --prefix)/bin/bash >> /etc/
我有一个 OSX 应用程序,它应该包含用户磁盘中任何位置的文件列表。 该应用程序的第一个版本将这些文件的路径保存在核心数据模型中。 然而,如果
想要在安装 mac 应用程序时安装 chrome 扩展。 我按照 chrome 其他部署选项的开发人员网站上的说明进行操作 两种方法都试过了 本地文件网址 创建文件
在 Mac 上:如何使用 SSH (scp) 将我的密码存储在钥匙串上?
我将旧 Mac 迁移到新 Mac。 他们现在都有操作系统:Sequoia 15.1 在我的 .ssh/config 文件中,我有: 主机矿井 主机名 myhost.com 用户本人 身份文件 ~/.ssh/my_rsa 使用钥匙串 是
特别是我在MacOS 10.14.2上使用C++库SFML,需要系统权限的方法是sf::Mouse::setPosition。唉,每次我对代码进行任何调整并制作一个 fr...
如何在 Mac 的 Lazarus 中执行相当于 shellexecute() 的操作?
如何在 Mac 的 Lazarus 中执行相当于 shellexecute() 的操作?
如何在 Finder 位置区域中显示我的 Macfuse 安装?
我已经从 macFUSE 示例成功编译了 hello.c 并将其安装在 macOS Sonoma 中。 虽然我第一次无法通过 Finder 导航到达我的 macFUSE 安装,但这已经解决了...
在 Xcode 中将 lex 和 bison 与 swift 一起使用
我正在致力于将 Swift 与在 Xcode 16.1 项目中使用 lex 和 bison 生成的简单解析器集成。 下面是我当前的代码: 计算l %{ #include“calc.tab.h” #包括 我正在致力于将 Swift 与在 Xcode 16.1 项目中使用 lex 和 bison 生成的简单解析器集成。 下面是我当前的代码: calc.l %{ #include "calc.tab.h" #include <stdlib.h> %} %% [0-9]+ { yylval.num = atoi(yytext); return NUMBER; } [ \t\n]+ ; "+" return '+'; "-" return '-'; "*" return '*'; "/" return '/'; "(" return '('; ")" return ')'; . return yytext[0]; %% calc.y %{ #include <stdio.h> #include <stdlib.h> #include "calc.h" void yyerror(const char *s); int result; %} %union { int num; } /* Define tokens with types */ %token <num> NUMBER %left '+' '-' %left '*' '/' /* Use %type to declare the type of non-terminal symbols */ %type <num> expr %% expr: expr '+' expr { $$ = $1 + $3; } | expr '-' expr { $$ = $1 - $3; } | expr '*' expr { $$ = $1 * $3; } | expr '/' expr { $$ = $1 / $3; } | '(' expr ')' { $$ = $2; } | NUMBER { $$ = $1; } ; %% int main(void) { return yyparse(); } void yyerror(const char *s) { fprintf(stderr, "Error: %s\n", s); } calc.h #ifndef CALC_H #define CALC_H extern int yylex(void); extern int yyparse(void); void yyerror(const char *s); int parseExpression(void); #endif calc.c #include "calc.h" #include <stdio.h> int result; int parseExpression(void) { if (yyparse() == 0) { return result; } else { return -1; // Error } } void yyerror(const char *s) { fprintf(stderr, "Error: %s\n", s); } 桥接标头.h #import "calc.h" 这是一个调用解析器的简单 SwiftUI 视图: struct ContentView: View { @State var result: Int32 = 0 var body: some View { VStack { Text("\(result)") Button("Calculate") { let expression = "3 + 5 * (10 - 4)" result = evaluate(expression: expression) print("Result: \(result)") } } .padding() } func evaluate(expression: String) -> Int32 { expression.withCString { cString in freopen("/dev/stdin", "r", stdin) fputs(cString, stdin) } return parseExpression() } } 我从终端手动运行这些命令: flex -o lex.yy.c calc.l bison -d calc.y -o calc.tab.c 当我在Xcode中编译项目时,遇到以下错误,但我无法解决: Undefined symbols for architecture arm64: "_yywrap", referenced from: _yylex in lex.yy.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 有人可以提供一些指导或指出我正确的方向吗? 我的问题不是重复现有问题,只是添加选项: %option noyywrap 按照建议并没有解决问题。事实上,由于重复的变量和函数定义,它引入了多个错误。 这是因为在 Xcode 项目中同时包含 .l (Flex) 和 .y (Bison) 文件会在幕后自动触发 Flex 和 Bison。 解决方案是更新分词器和解析器定义以避免引用不可用的 calc.tab.h。 以下是最终的工作文件: calc.l %option noyywrap %{ #include <stdio.h> #include <stdlib.h> enum { NUMBER = 258, PLUS, MINUS, MULTIPLY, DIVIDE, LEFTPAR, RIGHTPAR }; union YYSTYPE { int num; }; extern union YYSTYPE yylval; extern int expression_value; extern void yyerror(const char *s); %} %% [0-9]+ { yylval.num = atoi(yytext); return NUMBER; } [ \t\n]+ ; "+" return PLUS; "-" return MINUS; "*" return MULTIPLY; "/" return DIVIDE; "(" return LEFTPAR; ")" return RIGHTPAR; . return yytext[0]; %% calc.y %{ #include <stdio.h> #include <stdlib.h> void yyerror(const char *s); int yylex(void); int expression_value; %} %union { int num; } %token <num> NUMBER %token PLUS %token MINUS %token MULTIPLY %token DIVIDE %token LEFTPAR %token RIGHTPAR %left PLUS MINUS %left MULTIPLY DIVIDE %type <num> expr %% input: | expr { expression_value = $1; } ; expr: expr PLUS expr { $$ = $1 + $3; } | expr MINUS expr { $$ = $1 - $3; } | expr MULTIPLY expr { $$ = $1 * $3; } | expr DIVIDE expr { $$ = $1 / $3; } | LEFTPAR expr RIGHTPAR { $$ = $2; } | NUMBER { $$ = $1; } ; %% void yyerror(const char *s) { fprintf(stderr, "Error: %s\n", s); } calc.h #ifndef CALC_H #define CALC_H int evaluate_expression(const char *expression, int *result); #endif calc.c #include "calc.h" #include <stdio.h> extern int yyparse(void); extern void yy_scan_string(const char *str); extern void yylex_destroy(void); extern int expression_value; int evaluate_expression(const char *expression, int *result) { yy_scan_string(expression); // Parse and evaluate the expression int status = yyparse(); yylex_destroy(); if (status == 0) { *result = expression_value; } return status; } 这是调用解析器的 Swift(UI) 代码: struct ContentView: View { @State var expression: String = "" @State var result: Int32? var body: some View { VStack { TextEditor(text: $expression) if let result { Text("\(result)") } Button("Calculate") { result = evaluate(expression: expression) } } .padding() } func evaluate(expression: String) -> Int32? { var result: Int32 = 0 let status = expression.withCString { cString in evaluate_expression(UnsafeMutablePointer(mutating: cString), &result) } if status != 0 { // The parse returned an error return nil } return result } } 请注意,调用evaluate_expression函数需要Swift-Bridging.h文件。
任何相当于 -ffunction-sections -Wl,--gc-sections 的 MacOS 吗?
在 Linux 和其他系统上,gcc 和 clang,当给定 -ffunction-sections -Wl,--gc-sections 时,基本上将从目标文件中删除无用(未引用)的函数。有什么办法可以得到...
在 macOS 上使用 M1 的 hv_vcpu_run 应该会返回,但事实并非如此
我正在虚拟机管理程序框架之上构建虚拟机管理器,并且遇到 hv_vcpu_run 永远不会以某种方式返回的问题。它应该返回,因为它要运行的代码将会执行
swift macOS - 自定义 NSCollectionViewDelegate 不会被调用
我为 NSCollectionViewDelegate 进行了扩展,其中声明了两个新函数来处理 NSCollectionViewItems 上的点击。我从自定义 NSCollectionVie 调用委托方法...
为什么 BF16 模型在 Mac M 系列芯片上的推理速度比 F16 模型慢?
我在https://github.com/huggingface/smollm/tree/main/smol_tools(镜像1)上读到: 所有模型均量化为 16 位浮点 (F16),以实现高效推理。训练是在 BF16 上完成的,但是在...
如何从 MacBook 通过蓝牙连接 iOS 设备并发送消息
如何从 MacBook 连接 iOS 设备并发送消息?首先,我使用 bleak 设置了一个扫描仪。使用 bleak 的原因是 PyBluez 和套接字无法工作,因为我没有 Python
带有 SwiftUI 内容的 NSWindow 在 macOS 15 上具有零帧
如标题所示。我这样创建一个窗口: onboardWindow?.setFrame(.init(x: 0, y: 0, 宽度: 600, 高度: 400), 显示: false) 然后,当需要展示时: 让 contentView = WelcomeView() 让主机...
无法通过 usbmuxd 和 usbfluxd 将 iPhone 连接到 Docker 上的 macOS 容器 - “无法连接到 172.17.0.1:5000
我正在尝试使用 usbmuxd 和 usbfluxd 将我的 iPhone 连接到在 Docker(在 Ubuntu 上)上运行的 macOS 容器。我的目标是在 macOS 容器和 iPhone 之间启用 USB 连接
我使用的是 macOS,当前正在使用 zshell。 我想在一个 shell 中运行一个命令,最好在同一窗口的另一个选项卡中打开另一个 shell,然后运行给定的命令。 对于
我有一个脚本,如果数据尚不存在,它将添加到 SwiftData 存储中。对于普通窗口,我的逻辑可以正常工作,但我无法让它在额外菜单上工作。这是一个示例: