小编ant*_*009的帖子

在Windows和Linux上编译

我是c的新手,我得到了一些其他人在Windows上编写的源代码.

尝试在linux上编译后我有错误,因为linux不支持DWORD,WORD和UINT32.我有6个文件例如.啊,Ac,Bh,Bc,Ch,Cc这些关键字都在所有文件中.

所以我在考虑两种可能的解决方案.哪个更好#define或typedef.

1)

typedef unsigned long DWORD;
typedef unsigned short WORD;
typedef unsigned int UNINT32;
Run Code Online (Sandbox Code Playgroud)

2)

#define DWORD unsigned long 
#define WORD unsigned short 
#define UINT32 unsigned int 
Run Code Online (Sandbox Code Playgroud)

对于第二部分,我想知道我应该把这些声明放在哪里.他们应该进入头文件,还是应该进入源文件?

例如,我应该在头文件或源文件中执行类似的操作吗?

#ifdef WIN32
/* windows stuff */
#else
typedef unsigned long DWORD;
typedef unsigned short WORD;
typedef unsigned int UNINT32;
#endif
Run Code Online (Sandbox Code Playgroud)

非常感谢上述建议,

c

10
推荐指数
1
解决办法
8698
查看次数

emacs在if else块中导航花括号

GNU emacs 23.1.1

我正在使用emacs来调试一些代码.但是,if和else块非常大,我无法在终端上显示整个代码,因为我必须向下滚动许多屏幕.并且它们中有很多是嵌套的,如果很难知道下面哪些if if阻塞.

if(something)
{
 /* very big code block with nested if/elses */
}
else
{
/* very big code block with nested if/elses */
}
Run Code Online (Sandbox Code Playgroud)

我想将光标放在第一个大括号上,然后以某种方式转到此代码块结束的位置.

希望你能理解,

非常感谢任何建议,

emacs

10
推荐指数
1
解决办法
2909
查看次数

以秒为单位获取当前时间

我想知道是否有任何函数可以以秒为单位返回当前时间,仅为2位数秒?我正在使用gcc 4.4.2.

c

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

创建一个空分支

Subversion 1.6 Ubuntu 10.4

我有一个具有以下存储库布局的项目.

proj/trunk
proj/branches/new_feature1/
proj/branches/new_feature2/
proj/tags
Run Code Online (Sandbox Code Playgroud)

但是,我想创建一个小型测试应用程序,这不是一个新功能.只是测试项目的一个小方面.我想在新分支上创建这个test_app.但是,我不想从主干到分支复制.我只是想创建一个新的空分支,以便我可以开发这个test_app.

有没有办法做到这一点?

非常感谢任何建议,

svn

10
推荐指数
1
解决办法
9016
查看次数

管理if语句

gcc 4.4.3 c89

我有一些函数初始化一些硬件并返回true或false.如果为false,那么我必须以相反的顺序取消初始化.

但是,我的代码对所有if语句看起来都很不整洁.

例如,每个函数都可以返回true或false.这是一个样本.正如您所看到的,代码看起来非常不整洁.我只是在寻找有关如何清理它以使其更易于管理且可能更糟糕的任何建议?

非常感谢任何建议,

if(init_A() == TRUE) {
 if(init_B() == TRUE) {
  if(init_C() == TRUE) {
   if(init_D() == TRUE) {
    if(init_E() == TRUE) {
     /* ALL STARTED OK */    
    }
    else {
     uninit_A();
     uninit_B();
     uninit_C();   
     uninit_D();    
    }
   }
   else {
    uninit_A();
    uninit_B();
    uninit_C();   
   }
  }
  else {
   uninit_A();
   uninit_B();
  }
 }
 else {
  /* Failed to initialize B */
  uninit_B(); 
 }
}
else {
 /* Failed to start */
}
Run Code Online (Sandbox Code Playgroud)

c

10
推荐指数
4
解决办法
1313
查看次数

在Android中将类放在包名下的最佳做法是什么?

Android Studio 0.8.11
Run Code Online (Sandbox Code Playgroud)

你好,

我刚刚在Android上完成了一项测试,即构建一个带有实时新闻源的应用程序并显示它们.但是,由于我将所有课程都放在一个包装下,因此教师非常关键.

我只是想知道包装类的最佳实践是什么.对于我的特定测试,我在此包名下有以下类:

com.viewsys.ncon

我的课程是:

DBHelper          <-- database creating and ugprading
DetailActivity    <-- activity that add the NconDetailFragment
NconContract      <-- properties of the database schema columns, table name
NconDetailFragment <-- detail fragment
NconListFragment  <-- list fragment
NconViewPager  <-- just the view pager
JsonNewsFeed   <-- class that downloads and parses the json format
MainActivity   <-- Main activity
NewsFeed       <-- class of properties getters/setters for news feed
NewsFeedDB     <-- simple array list to store all the object from the …
Run Code Online (Sandbox Code Playgroud)

java android packages

10
推荐指数
3
解决办法
4871
查看次数

未知的动画名称:decelerateInterpolator

Android Studio 1.5
Device Samsung 4.4.2
Run Code Online (Sandbox Code Playgroud)

我正在尝试将从ArrayList加载的项目动画化为recyclerview.我在单击下拉箭头时,项目应在展开时设置动画(减速),并在折叠时设置动画.但是,目前只显示列表项.

调用setAnimation的代码

 @Override
    public void onBindChildViewHolder(ChatChildViewHolder childViewHolder, int position, Object childListItem) {
        ChatChildTitles chatChildTitles = (ChatChildTitles)childListItem;
        childViewHolder.tvChildTitle.setText(chatChildTitles.getTitle());

        setAnimation(childViewHolder.cvChildRooms, position);
    }
Run Code Online (Sandbox Code Playgroud)

用于设置动画的代码

  private void setAnimation(CardView viewToAnimate, int position) {
        Animation animation = AnimationUtils.loadAnimation(mContext, android.R.anim.fade_in);
        animation.setInterpolator(mContext, android.R.anim.decelerate_interpolator);
        viewToAnimate.startAnimation(animation);
    }
Run Code Online (Sandbox Code Playgroud)

这是一些截图:

在崩溃的状态

在此输入图像描述

单击箭头后,解释列表 在此输入图像描述

这是我正在使用的布局,它代表将在recyclerView中显示的行:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    android:id="@+id/cvChildRooms"
    xmlns:card="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    card:cardBackgroundColor="@color/child_header_lighter_grey"
    card:contentPadding="4dp"
    card:cardPreventCornerOverlap="true">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/profile_image"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_gravity="center_vertical|start"
        android:src="@drawable/photorace"/>

    <TextView
        android:id="@+id/tvChildTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center"
        android:text="Coffee Latte Room"
        android:fontFamily="sans-serif-light"
        android:textSize="16sp"
        android:textColor="@android:color/black"/>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

我有一个应该启动动画的功能.

private void …
Run Code Online (Sandbox Code Playgroud)

android android-animation

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

单元测试MVP使用mockito与事件监听器

Android Studio 2.1.2
Run Code Online (Sandbox Code Playgroud)

我想测试实际调用LoginModelImp中的回调onUsernameError,onPasswordError和onSuccess.我不确定如何测试事件监听器.但是,测试失败,因为从不调用这些函数.我用mockito嘲笑他们并试图验证它们.

到目前为止这是我的代码.

演示者界面

public interface LoginPresenterContract<LoginFragmentViewContract> {
    void validateCredentials();

    void attachView(LoginFragmentViewContract view);
    void detachView();
}
Run Code Online (Sandbox Code Playgroud)

演示者实施

public class LoginPresenterImp implements LoginPresenterContract<LoginFragmentViewContract>, LoginModelContract.OnLoginCompletedListener {

    private LoginModelContract mLoginModelContract;
    private LoginFragmentViewContract mLoginFragmentView;

    public LoginPresenterImp(LoginModelContract loginModelContract) {
        mLoginModelContract = loginModelContract;
    }

    /*
     * LoginPresenterContact - implementation
     */
    @Override
    public void attachView(LoginFragmentViewContract view) {
        mLoginFragmentView = view;
    }

    @Override
    public void detachView() {
        mLoginFragmentView = null;
    }

    @Override
    public void validateCredentials() {
        if(mLoginModelContract != null) {
            mLoginModelContract.login(
                    mLoginFragmentView.getUsername(),
                    mLoginFragmentView.getPassword(),
                    LoginPresenterImp.this);
        }
    } …
Run Code Online (Sandbox Code Playgroud)

android unit-testing junit4 mockito

10
推荐指数
1
解决办法
2801
查看次数

使用mockito来测试使用上下文的函数

Android Studio 2.1.2
Run Code Online (Sandbox Code Playgroud)

我正在尝试测试getJsonFromResource哪些电话loadNewsFeed.我希望能够测试2个案例1,其中loadNewsFeed将返回一个空字符串,另一个将返回一些json字符串.

所以我试图模拟loadNewsFeed函数返回一个空字符串.但是,当getJsonFromResource调用具体时,它将调用实数loadNewsFeed并导致空指针异常.这是我在测试评论中尝试解释我正在做的事情:

@Test
public void shouldFailIfJSONStringIsEmpty() throws Exception {
    /* Mock Context class */
    Context context = mock(Context.class);
    /* initialize the concrete parseNewsFeed passing in the fake context */
    ParseNewsFeed parseNewsFeed = new ParseNewsFeed(context);
    /* Create a mock of the parseNewsFeed so a fake call to loadNewsFeed will return an empty string */
    ParseNewsFeed mockParseNewsFeed = mock(ParseNewsFeed.class);
    /* Mock the events that will be verified …
Run Code Online (Sandbox Code Playgroud)

android mockito

10
推荐指数
3
解决办法
3987
查看次数

使用Espresso测试RxJava2并在suscribeOn时获取空指针异常

Android Studio 3.0 Beta2
Run Code Online (Sandbox Code Playgroud)

我正在测试使用RxJava2获取端点列表.该应用程序正常运行时工作正常.但是,当我使用espresso测试时,我尝试使用时会得到一个空指针异常subscribeOn(scheduler).对于调度程序,我使用trampoline()for subscribeOnobserveOn两个注入.

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'io.reactivex.Observable io.reactivex.Observable.subscribeOn(io.reactivex.Scheduler)' on a null object reference
Run Code Online (Sandbox Code Playgroud)

为了测试使用浓缩咖啡的RxJava2,有什么我应该做的,这对于subscribeOnobserveOn

@Singleton
@Component(modules = {
        MockNetworkModule.class,
        MockAndroidModule.class,
        MockExoPlayerModule.class
})
public interface TestBusbyBakingComponent extends BusbyBakingComponent {
    TestRecipeListComponent add(MockRecipeListModule mockRecipeListModule);
}
Run Code Online (Sandbox Code Playgroud)

这是我的课程

public class RecipeListModelImp
        implements RecipeListModelContract {

    private RecipesAPI recipesAPI;
    private RecipeSchedulers recipeSchedulers;
    private CompositeDisposable compositeDisposable = new CompositeDisposable();

    @Inject
    public RecipeListModelImp(@NonNull RecipesAPI recipesAPI, @NonNull RecipeSchedulers recipeSchedulers) {
        this.recipesAPI …
Run Code Online (Sandbox Code Playgroud)

android unit-testing nullpointerexception android-espresso android-instrumentation

10
推荐指数
1
解决办法
1238
查看次数