小编Dan*_*lme的帖子

字符串文字是否计为部分初始化程序并进行零初始化?

在C中,您可以部分初始化结构或数组,结果是初始化程序中未提及的成员/元素是零初始化的.(C99第6.7.8.19节).例如:-

int a[4] = {1, 2};
// a[0] == 1
// a[1] == 2
// a[2] == 0
// a[3] == 0
Run Code Online (Sandbox Code Playgroud)

您还可以使用字符串文字(C99第6.7.8.14节)和"连续字符...初始化数组元素"初始化"字符数组类型".例如:-

char b[4] = "abc";
// b[0] == 'a'
// b[1] == 'b'
// b[2] == 'c'
// b[3] == '\0'
Run Code Online (Sandbox Code Playgroud)

一切都很简单.但是如果你明确给出数组的长度会发生什么,但是使用太短的文字来填充数组呢?剩余的字符是否已初始化,或者它们是否具有未定义的值?

char c[4] = "a";
// c[0] == 'a'
// c[1] == '\0'
// c[2] == ?
// c[3] == ?
Run Code Online (Sandbox Code Playgroud)

将它作为一个部分初始化器处理是有意义的,它会使char c[4] = "a"行为完全像char c[4] = {'a'},并且它会产生有用的副作用,让你简洁地将整个字符数组初始化为零char d[N] = …

c string initialization literals

14
推荐指数
2
解决办法
954
查看次数

如何获取 tsc 将编译的 Typescript 文件列表?

我正在尝试grunt在 Typescript 项目中编写一个任务来测量源文件的一些统计信息。为此,我有一个函数,它接受单个源文件,typescript.createSourceFile从中运行,并对返回的 AST 执行一些操作。问题是找到所有要迭代的文件:我想获得完全相同的文件列表,这些文件tsc -p tsconfig.json将在以后编译。目的是从该列表中过滤掉一些文件,然后遍历过滤后的列表。

我想我会使用typescript模块来做到这一点,但我找不到一个函数来做到这一点。我tsc源代码中找到将 tsconfig 转换为文件列表的地方,它似乎正在使用未导出的函数。

typescript tsc typescript2.9

10
推荐指数
2
解决办法
2134
查看次数

将CSV文件导入SQL Server ...

大家好,我正在尝试将CS​​V文件导入SQL服务器数据库,但没有成功.我仍然是sql server的新手,谢谢.

Operation stopped...

- Initializing Data Flow Task (Success)

- Initializing Connections (Success)

- Setting SQL Command (Success)

- Setting Source Connection (Success)

- Setting Destination Connection (Success)

- Validating (Success)
    Messages
    * Warning 0x80049304: Data Flow Task 1: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available.  To resolve, run this package as an administrator, or on the system's console.
     (SQL Server Import and Export Wizard)


- Prepare …

sql-server csv

9
推荐指数
2
解决办法
4万
查看次数

网站分析 - haveamint.com或Google Analytics?

是否有可用于Mint和Google Analytics 的比较分析,可以帮助我决定在我的情况下实施哪一个?

analytics google-analytics

8
推荐指数
2
解决办法
3627
查看次数

如何告知活动已被通知区域覆盖?

通常情况下,Android会onPause在您Activity开始被遮挡或隐藏时调用它,然后onStop在它不再显示时调用.在我的游戏中,我暂停了游戏onPause,因此用户在寻找其他地方时不会丢失游戏.

但是,当用户拖动通知栏时,它会覆盖我的Activity,但既onPause不会也不会onStop被调用.文档中似乎没有提到这一点.游戏在背景中剔除,没有人看着它.还有其他一些方法可以告诉我 Activity在发生这种情况时会被遮挡,所以我可以在用户输掉之前暂停游戏吗?我在Android开发者网站上找不到任何相关内容.

android android-notification-bar

8
推荐指数
2
解决办法
2843
查看次数

如何实现水平滚动标签?

我正在尝试实现此应用程序.目前我已经设计了标签,因为我有超过7个标签,它看起来太拥挤了.如何设计它以便tabwidget可以水平滚动.我在市场上的一些应用程序上看到了这个设计,但没有任何线索如何在我的应用程序中实现这一点.

我看到的一个应用程序有一个水平滚动视图,它自己滚动,当你按下特定的图像/按钮时,它会显示一些内容.它似乎不是我猜的标签.

那么有人对此有所了解吗?

android horizontalscrollview tabwidget android-tabhost android-tabs

7
推荐指数
2
解决办法
3万
查看次数

成员订单是否会像在C或C++中那样在Java中产生性能差异?

在C和C++中,不允许编译器重新排序结构的数据成员,因此如果您不小心订购它们,最终会浪费空间.例如:

struct S {
    int i;
    void *p;
    int i2;
};
Run Code Online (Sandbox Code Playgroud)

在具有32位int和64位指针的平台上,i将首先放置,然后是32位填充,以便p可以进行64位对齐.i2然后占用下一个字的一半,接着是另外32位的填充.生成的结构长度为24个字节,而如果p首先声明,则只有16个字节长.如果在阵列中有很多这些结构,找到并删除填充有时可能是一个重要的优化,以节省内存并减少缓存流失.

我很想知道Java是否具有相同的功能.未装箱的类型(例如intboolean)是否与引用相同或更小?如果它们更小,是否允许编译器对它们重新排序以避免插入填充以对齐后续字段?最后,如果是,那么任何编译器都这样做吗?

我现在对此没有特别的优化需求,我只是很想知道在选择声明我的字段的顺序时是否应该记住这一点,就像我在C中所做的那样.

java optimization bytecode

7
推荐指数
1
解决办法
334
查看次数

如何在 IntelliJ IDEA 中为模块使用不同的代码样式?

我有一个正在 IntelliJ IDEA 中编辑的项目。在这个项目中,我使用了第三方开源库。因为我想同时编辑库和我的代码,所以我将库源(一个 Eclipse 项目)作为模块导入到我的项目中。

库使用与我的代码不同的缩进样式:我使用默认的四个空格,库使用制表符。如何配置 IntelliJ IDEA 以在此库的文件中使用不同的代码样式设置?

indentation intellij-idea

7
推荐指数
1
解决办法
646
查看次数

如何制作一个 nom 空白解析器来跳过面向行的注释?

我正在 nom 4.2.2 中为基于文本的格式编写解析器,并且我正在使用空格工具来跳过空格。我必须使用自定义解析器,因为这种格式将一些不寻常的字符视为空格。按照该页面上的示例,我使用eat_separator.

如何有效地扩展我的空间解析器以也使用从行注释#到行尾的行注释?这些注释可以出现在字符串之外的任何地方。我总是想扔掉评论的内容:没有什么比预处理器指令更好的了。

comments rust nom

7
推荐指数
1
解决办法
1243
查看次数

在Android中使文本浮动

我试图在Android中实现一些文本布局,就像float="right"在HTML中一样.我在屏幕的某个区域有两个文本项.我希望其中一个在TextView中左对齐,其中一个是右对齐的,就像这样(其中|两端代表封闭容器): -

| First text item      label |
Run Code Online (Sandbox Code Playgroud)

到目前为止,这听起来很容易:我可以用a中的两个TextViews 来做RelativeLayout,右边的一个设置为layout_alignParentRight="true"layout_gravity="right".但也有左手文字太长而无法容纳剩余空间的情况.有了RelativeLayout它会与右手文本重叠,但我想在这种情况下分成两行: -

| This text is way too long  |
|                      label |
Run Code Online (Sandbox Code Playgroud)

同样,如果左侧文本流向多行,我希望右手文本尽可能适合同一行: -

| This text doesn't fit on   |
| one line             label |
Run Code Online (Sandbox Code Playgroud)

因为ViewAndroid中的s总是矩形的,所以TextView即使我写了一个自定义,似乎也不可能让这个最后一个例子用两个s 工作Layout.我查看使用a Spannable让我把所有文本放在一个TextView,但是再次,AlignmentSpan是一个ParagraphStyle,所以看起来它不能将标签放在与左手文本相同的那条线上.是否有其他类型的文本跨度可用于实现此目的,甚至是完全不同的方法?

目前,看起来我要将文本放在HTML中并使用WebView(不是很好,因为视图要放在列表项中),或者编写一个类似自定义TextView的小部件.

android text textview android-layout

6
推荐指数
1
解决办法
6844
查看次数