小编Car*_*s00的帖子

CMAKE链接到系统库

我们想用CMAKE系统构建一个共享库.它是这样的:

lib/
  CMakeLists.txt
  src/
    CMakeLists.txt
    module/
      CMakeLists.txt
      module1.c
    foo.c
Run Code Online (Sandbox Code Playgroud)

module1.c需要一些标准的共享库librt.我们有

add_library(module module1.c)
target_link_libraries(module rt)
Run Code Online (Sandbox Code Playgroud)

module/子目录中.但仍然得到错误的东西librt是未知的.

c c++ cmake

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

用C风格编写C++代码

如果我们想用C编写一个模块并且必须用C++编译它,可以用C++ g++开发一段没有任何自己的类的代码,只用C中的"全局/静态函数"吗?所以,简单地说,用C++编写代码C(只有很少的系统头改变等)

c c++ gcc

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

如何配置git忽略文件?

我们想要忽略一些文件,而不是通过git跟踪,我们无法弄清楚如何做到这一点.

我们有一些第三方C库已解压缩,我们在Git中有它.但是当你configure && make它,它会产生许多新文件.如何写入.gitignore跟踪源文件而不是新的东西.(这不像禁止*.o)

编辑:至少有12种文件类型.所以我们不想枚举,我们想要哪种类型,哪些不是.

c git

4
推荐指数
1
解决办法
177
查看次数

是GCC错误吗?

在编译我的项目混合时C,C++我得到了这个错误(这在编译C++文件时):

/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h:
In function ‘int std::__convert_from_v(__locale_struct* const&, char*, int, const char*, ...)’:
/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h:70:3:
sorry, unimplemented:
function ‘int std::__convert_from_v(__locale_struct* const&, char*, int, const char*, ...)’
can never be inlined because it uses variable argument lists
Run Code Online (Sandbox Code Playgroud)

编译结束.

但是,当我手动编辑的文件 /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h ,并删除inline修改之前,__convert_from_vWORKS.

导致问题的函数头是inline最初的:

inline int
__convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
                   char* __out,
                   const int __size __attribute__ ((__unused__)),
                   const char* __fmt, ...)
Run Code Online (Sandbox Code Playgroud)

我想这样的功能不应该被标记为inline.是错误还是我做错了什么?[gcc 4.6.1,Ubuntu 11.10]

c c++ linux gcc g++

4
推荐指数
1
解决办法
1017
查看次数

快速文件读取

如果我是对的,在Linux(in C/C++, gcc/g++)上,可以使用read(2)mmap(2)系统调用从常规文件中读取数据.

两个问题.read系统调用是否在mmap内部使用?什么时候比第二个快,反之亦然?

c c++ linux gcc

4
推荐指数
1
解决办法
837
查看次数

插入具有聚集索引的表

如果我没有记错的话,聚集索引会根据一些自定义顺序对磁盘上表的行进行物理排序。我假设表存储在文件中(也许每个表一个文件?)。好吧,然后假设某人在表中插入了“新行”,并且应该将其放置在开头。然后数据库需要在文件中物理移动整个表(所有行)吗?这不是太慢,还是有什么优化技术可以在插入后实现排序顺序?

sql database indexing clustered-index

4
推荐指数
1
解决办法
1333
查看次数

C vs Haskell中的朴素斐波那契

请问,如何对g(fib)的评价完全严格?(我知道这个指数解决方案不是最优的.我想知道如何使递归完全严格 /如果可能/)

哈斯克尔

g :: Int -> Int
g 0 = 0
g 1 = 1
g x = g(x-1) + g(x-2)
main = print $ g 42
Run Code Online (Sandbox Code Playgroud)

因此它的运行速度与天真的C解决方案一样快:

C

#include <stdio.h>

long f(int x)
{
    if (x == 0) return 0;
    if (x == 1) return 1;
    return f(x-1) + f(x-2);
}

int main(void)
{
    printf("%ld\n", f(42));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

注意:此fibs-recursion仅用作超简单示例.我完全知道,有很多更好的算法.但肯定有递归算法,它们没有那么简单和有效的替代方案.

haskell ghc

4
推荐指数
1
解决办法
691
查看次数

压缩到WCF的所有流量

我们有几个WCF(数据)服务.由于我们的客户很少通过糟糕的网络连接连接到这些服务,我们希望确保所有流量都被压缩.因此,我们希望自动压缩每个请求和响应服务器.

我们现在使用IIS 8和.NET 4+.

我们怎样才能以最自然的方式做到这一点?(通过XML配置等)

.net c# compression wcf

4
推荐指数
1
解决办法
8448
查看次数

纯函数中的跟踪输出

是否有可能在纯函数中打印跟踪日志,如:

pure :: Int -> Int
pure x = do
  <trace log>
  return x*x
Run Code Online (Sandbox Code Playgroud)

我知道,这不是"Haskell干净",但GHC中没有任何有用的黑客攻击吗?

haskell ghc

4
推荐指数
1
解决办法
507
查看次数

Haskell中的基本I/O性能

另一个微基准测试:为什么这个"循环"(用ghc -O2 -fllvm7.4.1 编译,Linux 64bit 3.2内核,重定向到/dev/null)

mapM_ print [1..100000000]
Run Code Online (Sandbox Code Playgroud)

C使用write(2)非缓冲系统调用时,比普通的简单for-cycle慢约5倍?我想收集Haskell陷阱.

即使这种缓慢的C解决方案也比Haskell快得多

int i;
char buf[16];
for (i=0; i<=100000000; i++) {
    sprintf(buf, "%d\n", i);
    write(1, buf, strlen(buf));
}
Run Code Online (Sandbox Code Playgroud)

haskell ghc

4
推荐指数
3
解决办法
1453
查看次数

标签 统计

c ×5

c++ ×4

gcc ×3

ghc ×3

haskell ×3

linux ×2

.net ×1

c# ×1

clustered-index ×1

cmake ×1

compression ×1

database ×1

g++ ×1

git ×1

indexing ×1

sql ×1

wcf ×1