# \#define \_ and #define \_\_

**URL:** <https://www.ruby-forum.com/t/define-and-define/96084>\
**Category:** Ruby\
**Created:** [January 23, 2006, 5:35am UTC](https://www.ruby-forum.com/t/define-and-define/96084 "2006-01-23T05:35:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bct](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/6a8cbe/32.png) [@bct](https://www.ruby-forum.com/u/bct)\
**Post date:** [January 23, 2006, 5:35am UTC](https://www.ruby-forum.com/t/define-and-define/96084/1 "2006-01-23T05:35:14Z")

</div>

Hello,

I can’t find #define \_\_ and #define \_.  
Please point me to the filename and line number of these definitions or  
explain what they are.

---

<div class="post-metadata">

**Author:** ![bct](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/6a8cbe/32.png) [@bct](https://www.ruby-forum.com/u/bct)\
**Post date:** [January 26, 2006, 5:00pm UTC](https://www.ruby-forum.com/t/define-and-define/96084/2 "2006-01-26T17:00:18Z")

</div>

These are provided so ruby can compile on old (pre-ANSI) compilers that  
lack  
function prototypes.

[pbrannan@zaphod ruby]$ egrep ‘define \*\_ \*(’ \*.h  
defines.h:# define \_(args) args  
defines.h:# define \_(args) ()  
dln.h:# define \_(args) args  
dln.h:# define \_(args) ()  
st.h:# define \_(args) args  
util.h:# define \_(args) args  
util.h:# define \_(args) ()
