c-ares

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

Github stars Tracking Chart

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查询。这样的应用程序的主要例子是服务器与多个客户端和图形用户界面的程序进行通信。

Overview

Name With Ownerc-ares/c-ares
Primary LanguageC
Program languageC (Language Count: 9)
Platform
License:Other
Release Count83
Last Release Namecares-1_28_1 (Posted on 2024-03-30 16:17:08)
First Release Namecurl-7_10_8 (Posted on )
Created At2010-03-20 19:30:23
Pushed At2024-04-26 14:54:04
Last Commit At
Stargazers Count1.8k
Watchers Count81
Fork Count583
Commits Count2.5k
Has Issues Enabled
Issues Count314
Issue Open Count18
Pull Requests Count309
Pull Requests Open Count2
Pull Requests Close Count122
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

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.

To the top