环境:eclipse + CDT +cygwin
前提:可以运行一个hello word的C project
功能:判断指定文件夹是否存在;创建指定多层文件夹。
预期跨平台代码:
#define _LINUX 1 //#define _WIN32 1 #ifdef _WIN32 #include <direct.h> #include <io.h> #elif _LINUX #include <stdarg.h> #include <sys/stat.h> #endif #ifdef _WIN32 #define ACCESS _access #define MKDIR(a) _mkdir((a)) #elif _LINUX #define ACCESS access #define MKDIR(a) mkdir((a),0755) #endif #include <io.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int is_directory(const char *path) { /* Check for existence */ if ((ACCESS(path, 0)) != -1) { /*printf( "File exists \n" ); if( (access( path, 1 )) != -1 ) printf( "File has read permission \n" ); if( (access( path, 2 )) != -1 ) printf( "File has write permission \n" );*/ return 1; } else { //printf( "File not exists \n" ); return 0; } } int create_directory(const char *path) { if (is_directory(path)) { printf("Directory existed\n"); return 0; } char tmpPath[300]; const char* pCur = path; memset(tmpPath, 0, sizeof(tmpPath)); int pos = 0; while (*pCur++ != '\0') { tmpPath[pos++] = *(pCur - 1); if (*pCur == '/' || *pCur == '\0') { if (!is_directory(tmpPath) && strlen(tmpPath) > 0) { if (MKDIR( tmpPath ) == 0) { printf(tmpPath); printf("\n"); printf("Success creating directory \n"); } else { printf(tmpPath); printf("\n"); printf("Error creating directory \n"); return 0; } } } } //printf("Success creating directory all\n"); return 1; } int main(void) { if (is_directory("/cygdrive/c/a/a")) { printf("dir exists \n"); } else { printf("dir not exists \n"); create_directory("/cygdrive/c/a/a"); } }
真正linux环境有待测试。
参考文章:
http://www.cnblogs.com/8586/archive/2013/01/04/2844216.html
http://blog.csdn.net/zmzsoftware/article/details/8612896
http://bbs.csdn.net/topics/110078934
相关推荐
在Windows操作系统上构建一个强大的C/C++开发和调试环境,我们可以使用Eclipse集成开发环境(IDE)配合CDT(C/C++ Development Tooling)插件和Cygwin工具集。以下是一个详细的步骤指南: 首先,确保你有Java ...
使用eclipse + CDT + cygwin环境,导入工程。 本工程功能 : 1. 生成 libGtest.a 静态库 。 libGtest.a 生成在 工程根目录下的 libGtest文件夹里面。 2. 利用生成libGtest.a 做单元测试。 入口函数为 工程根目录下...
Eclipse用于编写Java代码,ADT(Android Developer Tools)是Android开发的插件,CDT(C++ Development Toolkit)是Eclipse中的C++开发工具,Cygwin则提供一个类似Linux的环境在Windows上运行,VS2010(Visual ...
3. **CDT核心(CDT Core)**:提供核心模型、CDOM(C/C++ Object Model)和核心组件,是处理C/C++代码的基础。 4. **CDT UI**:包含了用户界面相关的组件,如视图、编辑器和向导,使得开发者能够更高效地进行编码和...
本文将详细介绍如何在 Windows 环境下配置 Eclipse 的 CDT(C/C++ Development Tools)插件,并设置必要的 Cygwin 工具链来支持 C/C++ 编程。 #### 一、安装 Cygwin 和 Eclipse CDT 1. **安装 Cygwin:** - ...
在 Eclipse 中安装 CDT 之后, 浏览至 File => New => Project,在那里,您将发现三个新的可用项目类型:C(“Standard C Make Project”)、C++(“Standard C++ Make Project”)和“Convert to C or C++ Projects...
Cygwin提供了一个Unix-like的环境,使得开发者能够在Windows系统上无缝地使用这些工具,从而实现C/C++代码的编译。 ##### 2. 安装步骤详解 1. **下载安装程序**: - 访问Cygwin官网(http://www.cygwin.com)下载...
CDT (C/C++ Development Toolkit) 是Eclipse中的C/C++插件,用于提供C/C++项目管理和构建支持。然而,CDT本身并不包含C/C++的编译器和调试器,这需要我们自行添加。 ##### 获取GNU toolchain 在Windows下,主要有...
### Android JNI 操作指南知识点详解 #### 一、概述 JNI (Java Native Interface) 是 Java 平台标准的一部分,它允许 Java 代码和其他语言写的代码进行交互。在 Android 开发中,通过 NDK (Native Development Kit)...
- - 在Eclipse中安装C/C++开发工具CDT(C/C++ Development Toolkit),这将为Android JNI开发提供集成的编辑器和构建环境。可以选择在线安装,通过Eclipse的"Help" -> "Install New Software" -> "Add",然后输入...
5. **安装用于Eclipse纯C++项目编译的工具**(例如Mingw或Cygwin,因为使用ADT提供的编译器可能会导致项目错误,从而无法编译)。 #### 四、注意事项 在整个搭建过程中,需要注意的关键事项包括: - Cocos2dx提供...
- **Eclipse + CDT (C/C++ Development Toolkit)**:集成开发环境,支持 Java 和 C/C++ 代码的编辑和调试。 - **JDK (Java Development Kit)**:用于 Java 代码的编译和运行。 #### 三、安装 Cygwin 1. **下载安装...
因此,可以通过关闭CDT(C/C++ Development Tooling)编译器来避免不必要的编译,提高开发效率。如果需要重新编译本地代码,只需重新勾选CDT编译器即可。 在配置环境时,还要注意Eclipse的偏好设置(Preferences)...
1. **Eclipse SDK 3.6.1**:包括必要的ADT(Android Development Tools)和CDT(C/C++ Development Tools)插件。 2. **Cygwin**:为Windows系统提供Unix-like的运行环境,便于执行Unix命令。 3. **JDK 1.6.0.10**:设置...