c-ares

用于异步DNS请求的C库。(A C library for asynchronous DNS requests.)

Github星跟蹤圖

c-ares 是用于异步DNS请求(包括名称解析)的C库,C89兼容性,MIT许可,构建并运行在POSIX,Windows,Netware,Android和更多的操作系统上。c-ares正被 libcurl,UnrealIRCd,BZFlag,Xymon,libev net,gLine,aria2,sipsak,Second Life,Wireshark,node.js 等使用。

c-ares 是一个异步解析器库。它适用于需要无阻塞执行DNS查询的应用程序,或者需要并行执行多个DNS查询。这样的应用程序的主要例子是服务器与多个客户端和图形用户界面的程序进行通信。

主要指標

概覽
名稱與所有者c-ares/c-ares
主編程語言C
編程語言C (語言數: 6)
平台
許可證MIT License
所有者活动
創建於2010-03-20 19:30:23
推送於2025-06-06 03:10:23
最后一次提交
發布數98
最新版本名稱v1.34.5 (發布於 2025-04-08 08:12:06)
第一版名稱curl-7_10_8 (發布於 )
用户参与
星數2k
關注者數79
派生數633
提交數2.9k
已啟用問題?
問題數392
打開的問題數27
拉請求數442
打開的拉請求數4
關閉的拉請求數128
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

c-ares

Build Status
Windows Build Status
Coverage Status
CII Best Practices
Fuzzing Status
Releases

This is c-ares, an asynchronous resolver library. It is intended for
applications which need to perform DNS queries without blocking, or need to
perform multiple DNS queries in parallel. The primary examples of such
applications are servers which communicate with multiple clients and programs
with graphical user interfaces.

The full source code is available in the 'c-ares' release archives,
and in a git repository: http://github.com/c-ares/c-ares. See the
INSTALL.md file for build information.

If you find bugs, correct flaws, have questions or have comments in general in
regard to c-ares (or by all means the original ares too), get in touch with us
on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares

c-ares is of course distributed under the same MIT-style license as the
original ares.

You'll find all c-ares details and news here:
https://c-ares.haxx.se/

Notes for c-ares hackers

  • The distributed ares_build.h file is only intended to be used on systems
    which can not run the also distributed configure script.

  • The distributed ares_build.h file is generated as a copy of ares_build.h.dist
    when the c-ares source code distribution archive file is originally created.

  • If you check out from git on a non-configure platform, you must run the
    appropriate buildconf* script to set up ares_build.h and other local files
    before being able to compile the library.

  • On systems capable of running the configure script, the configure process
    will overwrite the distributed ares_build.h file with one that is suitable
    and specific to the library being configured and built, this new file is
    generated from the ares_build.h.in template file.

  • If you intend to distribute an already compiled c-ares library you MUST
    also distribute along with it the generated ares_build.h which has been
    used to compile it. Otherwise the library will be of no use for the users of
    the library that you have built. It is your responsibility to provide this
    file. No one at the c-ares project can know how you have built the library.

  • File ares_build.h includes platform and configuration dependent info,
    and must not be modified by anyone. Configure script generates it for you.

  • We cannot assume anything else but very basic compiler features being
    present. While c-ares requires an ANSI C compiler to build, some of the
    earlier ANSI compilers clearly can't deal with some preprocessor operators.

  • Newlines must remain unix-style for older compilers' sake.

  • Comments must be written in the old-style /* unnested C-fashion */

  • Try to keep line lengths below 80 columns.