[C]static与单独的{}

1. 一般的變數在運行子程序後,重新執行時的值和上一次運行完的值是沒關係的
但加上 static 的不同,加了该关键字的,变量在循环中变化,值是关联的.

2.{}

#include <stdio.h>
void main()
{
  int i,num;
  num=2;
  for(i=0;i<3;i++)
  {
    printf("/40:the num equal %d/n",num);
    num++;
    {
      static int num=1;
      printf("/40 :the internal block num equal %d/n",num);
      num++;
    }
  }
}
单独使用{}表明里面的是一个独立的但会受外面for控制,有了这{} 就可以在程序中间出现这样的语句 int n;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `cc_library_static` 是 Bazel Build 工具的一个规则(rule),用于构建静态库。它在编译时将源代码编译成静态库(`.a` 文件),并将其存储在指定位置,以便其他规则可以链接该库。使用静态库可以将代码打包成单独的可执行文件,而不需要依赖动态链接库。 使用 `cc_library_static` 规则时,需要指定以下参数: - `name`: 静态库的名称。 - `srcs`: 需要编译的源代码文件。 - `copts`: 编译选项。 - `linkopts`: 链接选项。 - `visibility`: 可见性设置,用于控制哪些规则可以访问该库。 示例: ``` cc_library_static( name = "my_static_lib", srcs = ["my_source_file.cc"], copts = ["-Wall", "-Werror"], linkopts = ["-static-libstdc++", "-static-libgcc"], visibility = ["//visibility:public"], ) ``` ### 回答2: cc_library_static是一个在C or C++编程语言中用于创建静态库的规则或指令。静态库是一种在编译时被链接到程序中的库文件,它包含了一组预编译的对象代码。与动态库不同,静态库在程序运行时不会被加载和卸载。 使用cc_library_static规则可以将C or C++源文件编译成静态库。该规则需要指定库的名称、源文件列表以及其他编译选项。在构建过程中,编译器将编译源文件并将其打包成一个静态库文件。这样一来,其他程序可以通过链接该静态库来使用里面定义的函数和符号。 静态库的优点之一是它的可移植性和独立性。一旦静态库被创建,它可以在不同的平台和系统上使用,而无需重新编译。此外,静态库也可以避免版本冲突和依赖性问题。 要使用静态库,需要在编译时指定库的路径并将其链接到目标程序中。当目标程序被执行时,静态库的代码将被复制到程序的可执行文件中,并与程序一起分发。 总而言之,cc_library_static是一个用于创建C or C++静态库的规则或指令。通过使用它,我们可以将源代码编译成一个独立、可移植的库文件,用于在其他程序中共享和使用。 ### 回答3: cc_library_static 是 Google 的构建系统 Bazel 中一个常用的规则,用于构建静态库。 它的使用方式通常为在 Bazel 的 BUILD 文件中,通过调用 cc_library_static 规则来声明静态库。在声明规则时,可以指定库的名称、库的源文件、库的依赖等。在执行构建时,Bazel 会根据这些规则来编译、链接生成静态库文件。 cc_library_static 提供了一种将源代码编译为静态库的方法。静态库是一种在链接时被链接到目标程序中,以供目标程序使用的库。与动态库相比,静态库在链接时被完整地复制到目标程序中,因此无需依赖外部库,具备更高的独立性和可移植性。 使用 cc_library_static 的好处是能够将代码模块化,方便地组织和重用代码。同时,静态库的编译和链接过程是在构建系统中进行的,可以实现自动化构建和持续集成,提高开发效率。 总之,cc_library_static 是 Bazel 构建系统中用于构建静态库的规则。通过使用这个规则,我们可以将源代码编译为静态库,并在链接时将其链接到目标程序中,实现代码模块化和复用。这有助于提高开发效率和代码可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值