小编dmc*_*kee的帖子

Easy C enum问题

我刚刚开始使用C语言,并且我被要求回答一些编码练习,其中出现以下代码:

typedef enum {
  false = 0,
  true = 1
} Bool;
Run Code Online (Sandbox Code Playgroud)

有人可以提供一个简短而明确的解释吗?

非常感谢.

c enums

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

使用蒙特卡罗查找PI数字

我尝试了许多使用蒙特卡罗寻找π的算法.其中一个解决方案(在Python中)是这样的:

def calc_PI():
    n_points = 1000000
    hits = 0

    for i in range(1, n_points):
        x, y = uniform(0.0, 1.0), uniform(0.0, 1.0)

        if (x**2 + y**2) <= 1.0:
            hits += 1

    print "Calc2: PI result", 4.0 * float(hits) / n_points
Run Code Online (Sandbox Code Playgroud)

可悲的是,即使有100万,精度也非常差(3.141 ......).

这是这种方法可以提供的最大精度吗?我选择蒙特卡罗的原因是它很容易在平行部分打破它.是否有另一种π算法很容易分解并计算?

python statistics pi montecarlo

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

在LaTeX中缩进Word Wrap

我正在LaTeX中编写一个文档,当我有一行环绕的文本时,我遇到了一个问题.我需要的是文本,当它环绕时,缩进以便它与标签匹配(很像\ item [Label:]文本函数,除了我不能使用{description}上下文.任何想法?

这发生在上下文中

\newcommand{\objectiveresheading}[1]{%
  {\parashade[.9]{sharpcorners{\textbf{\Large{Objective: }\large{#1}}}}}
Run Code Online (Sandbox Code Playgroud)

text latex typesetting

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

端口C对Python的fread(&struct,....)

嘿,我真的很挣这个.我试图将一小部分别人的代码移植到Python,这就是我所拥有的:

typedef struct
{
  uint8_t Y[LUMA_HEIGHT][LUMA_WIDTH];
  uint8_t Cb[CHROMA_HEIGHT][CHROMA_WIDTH];
  uint8_t Cr[CHROMA_HEIGHT][CHROMA_WIDTH];
} __attribute__((__packed__)) frame_t;

frame_t frame;

 while (! feof(stdin))
  {
    fread(&frame, 1, sizeof(frame), stdin);

    // DO SOME STUFF
  }
Run Code Online (Sandbox Code Playgroud)

后来我需要像这样访问数据:frame.Y [x] [y]

所以我在Python中创建了一个Class'frame'并插入了相应的变量(frame.Y,frame.Cb,frame.Cr).我试图按顺序将数据从Y [0] [0]映射到Cr [MAX] [MAX],甚至打印出C结构中的操作但是没有设法绕过用于放置数据的方法在那里.我一夜之间一直在苦苦挣扎,今晚必须回到军队,所以任何直接的帮助都非常受欢迎和赞赏.

谢谢

c python porting struct

3
推荐指数
1
解决办法
552
查看次数

makefile中"mv"和"-mv"shell命令有什么区别?

我偶然发现一个人在makefile目标中更改mv命令-mv.有什么不同?

%/install-stamp:                                                                                                           
        dh_testdir                                                                                                         
        dh_testroot                                                                                                        
        dh_prep -p$(subst _,-,$(a))-toolchain                                                                                       
        cp -rl $(r) debian/$(subst _,-,$(a))-toolchain                                                                     
        -mv debian/$(subst _,-,$(a))-toolchain/usr/bin/libgcc_s_sjlj-1.dll debian/$(subst _,-,$(a))-toolchain/usr/$(subst \
_,-,$(a))/bin                                                                                                              
        -mv debian/$(subst _,-,$(a))-toolchain/usr/lib/libiberty.a debian/$(subst _,-,$(a))-toolchain/usr/$(subst _,-,$(a)\
)/lib                                                                                                                      
        rm -f debian/$(subst _,-,$(a))-toolchain/usr/share/man/man1/dllwrap*                                               
        rm -f debian/$(subst _,-,$(a))-toolchain/usr/share/man/man7/fsf-funding*                                           
        rm -f debian/$(subst _,-,$(a))-toolchain/usr/share/man/man7/gfdl*                                                  
        rm -f debian/$(subst _,-,$(a))-toolchain/usr/share/man/man7/gpl*                                                   
        touch $(@)       
Run Code Online (Sandbox Code Playgroud)

bash makefile

3
推荐指数
1
解决办法
1970
查看次数

如何访问(升压元)状态机中的所有状态?

有没有办法访问 boost msm 中的所有状态(不仅是活动状态)?例如,放置在状态中的所有 UI 控件都应该在调整大小事件时调整大小,无论它们的状态是否活动。

更新:让我澄清一下,我需要某种迭代器来遍历我的状态机创建的所有对象状态。

更新#2:下面是一个示例。我需要调用所有状态的resize方法。

struct EventOne {};
struct EventTwo {};

struct StateOne : public state<> {
    void resize() { }
};

struct StateTwo : public state<> {
    void resize() { }
};

struct MyFsm : public state_machine_def<MyFsm> {
    typedef int no_exception_thrown;
    typedef StateOne initial_state;

    struct transition_table : boost::mpl::vector<
        //      Start,          Event,          Next,           Action,         Guard
        Row<    StateOne,       EventOne,       StateTwo,       none,           none            >,
        Row<    StateTwo,       EventTwo,       StateOne,       none,           none            >
    > {
    };
};

typedef boost::msm::back::state_machine<MyFsm> Fsm;
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-msm

3
推荐指数
1
解决办法
2484
查看次数

我需要在另一个内部插入一个""

我正在尝试从c ++应用程序中使用bash命令; 在bash命令中也有字符串,当我尝试编译时...编译器将该行视为彼此相邻的两个单独的字符串.看下面的代码:

const char* command = "echo -e "\e[31mHello World\e[0m""
Run Code Online (Sandbox Code Playgroud)

如何插入echo读取的字符串-inside echo本身所在的字符串?提前致谢.

c++ string bash

3
推荐指数
1
解决办法
87
查看次数

C数组指针问题

我认为数组变量不能在C中更改,即数组的基址是不可更改的,但下面的代码与我的假设相矛盾:

#include <stdlib.h>
#include <stdio.h>

void changeArray(int **a)
{
   *a = malloc(sizeof(int));  
}

int main()
{
   int a[10];
   a[0] = 1;
   printf("%d\n",a[0]);
   changeArray(&a);
   printf("%d\n",a[0]);
}
Run Code Online (Sandbox Code Playgroud)

此代码打印:

1
6750576(some random value)
Run Code Online (Sandbox Code Playgroud)

很明显,数组的基址已被更改.这怎么可能?

c arrays pointers

2
推荐指数
1
解决办法
1557
查看次数

C - 相当于.NET Console.ReadLine

我需要完成与.NET Console.ReadLine函数提供的相同的行为.当用户按下回车键时,程序执行应该继续.

以下代码是不够的,因为它需要额外的输入:

printf ("Press Enter to continue");
scanf ("%s",str); 
Run Code Online (Sandbox Code Playgroud)

有什么建议?

c console enter scanf

2
推荐指数
1
解决办法
7975
查看次数

如何修复这个Makefile

我希望我的Makefile尽可能简单并且仍然可以运行.这就是它的样子.

load: load.cpp
    g++ load.cpp -g -o load
list: list.cpp
    g++ list.cpp -g -o list
Run Code Online (Sandbox Code Playgroud)

当只有一个条目时它工作正常.但是当我添加第二个条目时,它不会检查它是否已更新并需要重新编译,除非我特意提供名称.我该如何解决?

makefile g++

2
推荐指数
1
解决办法
243
查看次数

标签 统计

c ×4

bash ×2

c++ ×2

makefile ×2

python ×2

arrays ×1

boost ×1

boost-msm ×1

console ×1

enter ×1

enums ×1

g++ ×1

latex ×1

montecarlo ×1

pi ×1

pointers ×1

porting ×1

scanf ×1

statistics ×1

string ×1

struct ×1

text ×1

typesetting ×1