# 使用 Homebrew, MacPorts 安装 nesc

查看 nesc 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:nesc
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install nesc
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install nesc
```

  证据: MacPorts ports tree: lang/nesc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:nesc
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/nesc>
- **版本:** 1.4.0
- **来源摘要:** Programming language for deeply networked systems
- **主页:** <https://github.com/tinyos/nesc>
- **仓库:** <https://github.com/tinyos/nesc>
- **许可证:** GPL-2.0-only
- **源码归档:** <https://github.com/tinyos/nesc/archive/refs/tags/v1.4.0.tar.gz>
- **最后更新:** 2026-06-22T14:05:36-07:00
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- nescc (cli)
- nescc-mig (cli)
- nescc-ncg (cli)
- nescc-wiring (cli)
- nescc (别名)
- nescc-mig (别名)
- nescc-ncg (别名)
- nescc-wiring (别名)

## 依赖

- emacs

## 构建依赖

- autoconf
- automake
- openjdk

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 1.4.0
- 管理器更新时间: 2026-06-22
- 本地数据: OK
- 上游仓库: https://github.com/tinyos/nesc
- 检测到的最新版本: v1.4.0 (当前)
## 项目历史与用法

nesC is an extension of C designed for TinyOS and deeply networked embedded systems, especially wireless sensor-network motes. It is historically significant because it was the programming language that embodied TinyOS's component model, event-driven execution, split-phase operations, and whole-program analysis for extremely memory-constrained devices.

### 项目历史

The nesC home page defines it as a C extension designed to embody TinyOS structuring concepts and execution model. TinyOS targeted sensor network nodes with very limited resources; the nesC page gives examples such as 8 KB of program memory and 512 bytes of RAM. The language built programs from wired components with provided and used interfaces, bidirectional commands/events, static linking, and whole-program compilation.

The 2003 PLDI paper by David Gay, Philip Levis, Robert von Behren, Matt Welsh, Eric Brewer, and David Culler presented nesC as a systems language for motes: tiny low-power nodes running concurrent reactive programs under severe memory and power constraints. The paper states that nesC had been used to implement TinyOS and significant sensor applications, and that nesC and TinyOS had been adopted by a large number of sensor-network research groups. In the introduction it says TinyOS was in use by more than 100 research groups worldwide.

The GitHub repository appears to be a later master repository: GitHub metadata retrieved on 2026-07-01 shows it created on 2012-12-17, archived, written mostly in C, with 107 stars and 54 forks. That repository status reflects the post-peak maintenance state, not the language's early-2000s research impact.

### 采用历史

nesC's adoption followed TinyOS adoption in academic and embedded-sensor research. It was not a general-purpose C successor; it was a domain-specific language for mote applications where static allocation, event callbacks, interrupt-driven execution, and compile-time race checks mattered. Its examples and papers connect it to TinyDB, Mate, Surge, and other sensor-network applications.

In package-manager terms, nesC is a legacy research/runtime tool kept installable for people building old TinyOS code or studying sensor-network systems. The av.db source record shows Homebrew and MacPorts packaging. The Homebrew formula API reported stable version 1.4.0 and 1 install-on-request event in the prior 30 days when checked on 2026-07-01.

### 使用方式

Users invoke `nescc` to compile TinyOS/nesC applications, with helper tools such as `nescc-mig`, `nescc-ncg`, and `nescc-wiring` for message/interface generation and wiring inspection. Practical use is mostly historical TinyOS development, reproducing academic sensor-network projects, and maintaining code for mote platforms.

### 为什么软件包爱好者会关心

nesC is important less because of present install volume and more because it records a complete research-era software stack: a language, compiler, operating system, component model, and hardware class co-designed for wireless sensor networks. It is the opposite of a random CLI; it is a fossil with real lineage.

### 时间线

- 2003: PLDI paper 'The nesC Language: A Holistic Approach to Networked Embedded Systems' published.
- 2012-12-17: tinyos/nesc GitHub repository created as the master repository.
- 2018-12-16: GitHub metadata showed the repository's last push date when checked on 2026-07-01.
- 2026-07-01: Homebrew API reported stable version 1.4.0.

### Related projects

- TinyOS
- TinyDB
- Mate
- Surge
- wireless sensor networks
- motes

### 来源

- <https://api.github.com/repos/tinyos/nesc>
- <https://csl.stanford.edu/~pal/pubs/nesc-pldi03.pdf>
- <https://formulae.brew.sh/api/formula/nesc.json>
- <https://github.com/tinyos/nesc>
- <https://nescc.sourceforge.net/>


## 安全说明

broad file, network, media, or database tool signal. generalized runtime or code generation signal.

- **Geiger 风险:** yellow / 中
- broad file, network, media, or database tool signal
- generalized runtime or code generation signal

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** nesc
- **Version Scheme:** 0
- **Revision:** 2
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## 其他软件包管理器记录

- MacPorts - nesc: normalized package name match | MacPorts ports tree: lang/nesc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 相关链接

- [Source-control packages](https://pkg.so/zh-hans/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://pkg.so/zh-hans/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/zh-hans/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://pkg.so/zh-hans/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [emacs](https://pkg.so/zh-hans/brew/emacs/) - Runtime dependency declared by Homebrew.
- [openjdk](https://pkg.so/zh-hans/brew/openjdk/) - Build dependency declared by Homebrew.
- [autoconf](https://pkg.so/zh-hans/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://pkg.so/zh-hans/brew/automake/) - Build dependency declared by Homebrew.
- [lisette](https://pkg.so/zh-hans/brew/lisette/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://pkg.so/zh-hans/brew/ats2-postiats/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [rust](https://pkg.so/zh-hans/brew/rust/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [lua](https://pkg.so/zh-hans/brew/lua/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [kotlin](https://pkg.so/zh-hans/brew/kotlin/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [nim](https://pkg.so/zh-hans/brew/nim/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [scala](https://pkg.so/zh-hans/brew/scala/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [julia](https://pkg.so/zh-hans/brew/julia/) - Shares pkgdb curated category or tags: cli, compiler, language-runtime, programming-language.
- [erg](https://pkg.so/zh-hans/brew/erg/) - Local package facts share a topical domain. Shared terms: cli, compiler, deeply, language, language-runtime.
- [clojurescript](https://pkg.so/zh-hans/brew/clojurescript/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, programming.
- [frege](https://pkg.so/zh-hans/brew/frege/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, programming.

## Combined YAML source

View the package source record on GitHub. [combined/nesc.yml](https://github.com/mxcl/pkgdb/blob/main/combined/nesc.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
